编写一个方法,确定某字符串的所有排列组合
来源:互联网 发布:2am 2pm 知乎 编辑:程序博客网 时间:2024/04/20 02:37
public static ArrayList<String> getPerms(String str)
{
if(str==null)
return null;
ArrayList<String> permutations=new ArrayList<String>();
if(str.length()==0)//终止条件
{
permutations.add("");
return permutations;
}
char first=str.charAt(0);//取得第一个字符
String remainder=str.substring(1);//移除第一个字符
ArrayList<String> words=getPerms(remainder);
for(String word:words)
{
for(int j=0;j<=word.length();j++)
{
String s=insertCharAt(word,first,j);
permutations.add(s);
}
}
return permutations;
}
public static String insertCharAt(String word,char c,int i)
{
String start=word.substring(0,i);
String end=word.substring(i);
return start+c+end;
}
由于将会有N!种排列组合,这种解法的时间复杂度为O(n!)。
0 0
- 编写一个方法,确定某字符串的所有排列组合
- 编写一个方法,返回某字符串的所有排列组合。
- 9.9递归和动态规划(五)——确定某字符串的所有排列组合
- 实现一个字符串的所有排列组合
- 生成某字符串的所有排列组合
- 给定一个字符串,输出所有的排列组合方式
- 给定一个字符串,找出其所有不重复的排列组合
- 输出字符串的所有排列组合
- 确定一个字符串的所有字符全都不同算法实现
- 确定一个字符串的所有字符是否全都不同
- 编写一个方法,返回某集合的所有子集。
- 编写一个方法,返回某集合的所有子集
- 显示字符串中所有字符的排列组合。
- 显示字符串中所有字符的排列组合。
- 编写一个方法,对字符串进行排序,将所有变位词排在相邻的位置
- 求一个数组元素的所有排列组合
- 【求一个数组元素的所有排列组合】
- 【Java,面试】实现一个算法,确定一个字符串的所有字符是否全都不同
- UVa 10635 - Prince and Princess(LCS转LIS)
- listview实现自动向上滚动,快速滚动,和滚动条的一些设置
- 简单工厂方法,工厂方法,抽象工厂方法
- web开发的几道笔试题
- 字符串相关处理函数
- 编写一个方法,确定某字符串的所有排列组合
- 二进制安全
- android获取存储空间
- android:如何从照片中获取拍摄地址信息
- Objective-C 【内存管理&手动内存管理 综述】
- Java中的异常(2)
- 如何给10^7个数据量的磁盘文件排序
- JAVA程序员面试题
- python __base__等内置方法