栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

生成一定长度的所有排列

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

生成一定长度的所有排列

为了递归地从字符串中选择五个字符,请遵循以下简单算法:

  • 到目前为止,您的方法应该已经填充了一部分,并且在五个字符的排列中需要字符的第一个位置
  • 如果需要角色的第一个位置高于5,则说明您已经完成;打印到目前为止的组合,然后返回
  • 否则,将每个字符放入排列中的当前位置,然后进行递归调用

这在Java中要短得多:

private static void permutation(char[] perm, int pos, String str) {    if (pos == perm.length) {        System.out.println(new String(perm));    } else {        for (int i = 0 ; i < str.length() ; i++) { perm[pos] = str.charAt(i); permutation(perm, pos+1, str);        }    }}

调用者通过更改以下元素的数量来控制所需的排列长度

perm

char[] perm = new char[5];permutation(perm, 0, "abcdefghiklimnop");

演示



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/494858.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号