黑马程序员技术交流社区
标题:
作业题目. 三个for 练练思维.
[打印本页]
作者:
xianghui0521
时间:
2016-9-13 23:28
标题:
作业题目. 三个for 练练思维.
分析以下需求,并用代码实现:
(1)打印一个字符串的全字符组合情况,原始字符
串中没有重复字符
(2)例如:原始字符串是"def", 打印得到下列所有组合情况:
"d" "e" "f" "de" "df" "ed" "ef" "fd"
"fe" "def" "dfe" "edf" "efd" "fde" "fed"*/
/*Scanner scanner= new Scanner(System.in);
System.out.println("请输入一个字符串(没有重复字符)");
String line=scanner.nextLine();
char[] cr=line.toCharArray();
TreeSet<String> ts=new TreeSet<String>(new Comparator<String>() {
public int compare(String o1, String o2) {
int num=o1.length()-o2.length();
return num==0?o1.compareTo(o2):num;
};
});
for (int i = 0; i < cr.length; i++) {
ts.add(""+cr[i]);
for (int j = 0; j < cr.length; j++) {
if(cr[i]==cr[j]){
continue;
}
ts.add(""+cr[i]+cr[j]);
for (int k = 0; k < cr.length; k++) {
if(cr[i]==cr[j]||cr[i]==cr[k]||cr[j]==cr[k]){
continue;
}
ts.add(""+cr[i]+cr[j]+cr[k]);
}
}
}
System.out.println(ts);*/
作者:
xianghui0521
时间:
2016-9-13 23:29
基础, 大神绕过.
先别看 答案, 自己可以考虑做一下
作者:
Jerry007
时间:
2016-9-13 23:31
看不懂
作者:
江月念华
时间:
2016-9-13 23:47
有点枚举的感觉,虽然没学过枚举,总觉得有更简单的算法
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2