求任意多个不重复元素的排列(基于Java实现)
来源:互联网 发布:nosql数据库的优势 编辑:程序博客网 时间:2024/09/21 08:15
public class AllSort {
private static Set<String> charSequence = new LinkedHashSet<String>();
private static List<String> result = new ArrayList<String>();
static {
charSequence.add("A");
charSequence.add("B");
charSequence.add("C");
charSequence.add("D");
charSequence.add("E");
charSequence.add("F");
}
public static void main(String[] args) {
perm(charSequence.size(), "");
for (int i = 0; i <result.size(); i++) {
System.out.println(i+1+":"+result.get(i));
}
}
/**
*
* @param level还要拼接的次数
* ,level如果等于0说明字符串拼接完成退出递归
* @param toAppend
* 已经拼接的字符串
*/
public static void perm(int level, String toAppend) {
if (level > 0) {
for (String s : charSequence) {
// 不加if判断为求组合的写法
if (!toAppend.contains(s)) {
perm(level - 1, s + toAppend);
}
}
} else {
result.add(toAppend);
}
}
}
private static Set<String> charSequence = new LinkedHashSet<String>();
private static List<String> result = new ArrayList<String>();
static {
charSequence.add("A");
charSequence.add("B");
charSequence.add("C");
charSequence.add("D");
charSequence.add("E");
charSequence.add("F");
}
public static void main(String[] args) {
perm(charSequence.size(), "");
for (int i = 0; i <result.size(); i++) {
System.out.println(i+1+":"+result.get(i));
}
}
/**
*
* @param level还要拼接的次数
* ,level如果等于0说明字符串拼接完成退出递归
* @param toAppend
* 已经拼接的字符串
*/
public static void perm(int level, String toAppend) {
if (level > 0) {
for (String s : charSequence) {
// 不加if判断为求组合的写法
if (!toAppend.contains(s)) {
perm(level - 1, s + toAppend);
}
}
} else {
result.add(toAppend);
}
}
}
0 0
- 求任意多个不重复元素的排列(基于Java实现)
- Java实现-带有重复元素的排列
- 全排列的java实现(无重复元素)
- 求输入字符串的全排列 (无重复元素)
- 带重复元素的排列
- 带重复元素的排列
- 带重复元素的排列
- 算法实现(2)有重复元素的排列问题
- 排列,含重复元素和不重复元素两种情况的实现
- C#实现求n个元素的全排列
- java实现求排列的逆序数
- 使用java的html解析器jsoup实现一个自动重复抓取任意网站页面指定元素的web应用
- 求任意数列的全排列
- Java实现-带重复元素的子集
- java 求数组中重复元素的个数
- 有重复元素的全排列
- 含重复元素的全排列
- 有重复元素的全排列
- Python中使用rrdtool结合Django进行带宽监控
- Java读取properties文件
- 求解偏微分方程开源有限元软件deal.II学习--Step 10
- Makefile--wildcard函数
- js弹出框、对话框、提示框、弹窗总结
- 求任意多个不重复元素的排列(基于Java实现)
- 不懂智能投顾?看这一篇就足够了
- UIPageControl
- listview详解
- Logistic Regression
- [译]15个关于Chrome的开发必备小技巧
- 求解偏微分方程开源有限元软件deal.II学习--Step 11
- JavaScript学习总结
- Java并发编程:Lock