JAVA给出对应字符串所有排列组合
来源:互联网 发布:灵娱网络每天流水多少 编辑:程序博客网 时间:2024/06/18 01:04
JAVA给出对应字符串所有排列组合
之前看到一题:求字符串的所有排列组合,例如字符串abc,有以下几种排列组合
[acb, bca, abc, cba, bac, cab]
后面考虑到遇到如果有重复字符,普通递归方法会将重复排列组合输出
之后就考虑到使用集合,元素不重复集合,这里使用了HashSet,并且让整个方法直接返回一个排列组合的集合。
public static void main(String[] args) { Set<String> set = new HashSet<>(); String str = "abcc"; set = RollList(str,0); System.out.println(set); } public static Set<String> RollList(String str,int i){ Set<String> set = new HashSet<>(); if (i>=(str.length()-1)) { set.add(str); return set; } char[] charArray = str.toCharArray(); String now = ""; //将第i个元素开始,与后面所有元素都换一次,就能得到所有组合 //例如,abc,i=0,表示,第一个元素从0开始换,得到abc,bac,cba的组合,然后再去算bc,ac,ba的所有组合 for (int k=i; k<str.length(); k++){ char temp = charArray[i]; charArray[i] = charArray[k]; charArray[k] = temp; //交换完后,处理后续,处理完后,再将两数还原位置,使得每次都是以abc的顺序进行交换 now = String.valueOf(charArray); set.addAll(RollList(now,(i+1))); temp = charArray[i]; charArray[i] = charArray[k]; charArray[k] = temp; } return set; }
阅读全文
0 0
- JAVA给出对应字符串所有排列组合
- JAVA 输出指定字符串所有排列组合
- 输出字符串的所有排列组合
- java字符串的排列组合
- java 字符串排列组合
- Java 排列组合字符串
- 显示字符串中所有字符的排列组合。
- 显示字符串中所有字符的排列组合。
- 生成某字符串的所有排列组合
- 实现一个字符串的所有排列组合
- java实现字符串排列组合问题
- 字符串的排列组合问题-java
- 给出一个函数来输出一个字符串的所有排列。
- 给出一个函数来输出一个字符串的所有排列
- 给出一个函数来输出一个字符串的所有排列
- 给出一个函数来输出一个字符串的所有排列
- 3、给出一个函数输出字符串的所有排列
- 给出一个函数来输出一个字符串的所有排列。
- linux-2-redis配置
- html适配移动开发需要加一行代码
- 枚举类型
- TextView字体
- spring的xml里加载properties数据
- JAVA给出对应字符串所有排列组合
- Kotlin语言编码规范
- 使用queryrunner操作数据库
- 正则
- C++文件读写详解(ofstream,ifstream,fstream)
- iOS学习之开发证书,描述文件,bundle ID的关系
- 4th 【最小生成树&&并查集】征兵
- PID调节之比例(P)调节
- WPF实现ComboBox绑定删除按钮