JAVA排列组合算法
来源:互联网 发布:东南大学seu网络登录 编辑:程序博客网 时间:2024/05/16 19:50
import java.util.ArrayList;import java.util.List;public class Combination {public static void main(String[] args) {char[] c = new char[] { '1', '2', '2', '3', '4', '5' };List<String> list = new ArrayList<String>();comb(c, list, 0, c.length);for (String str : list) {System.out.println(str);}}private static void comb(char[] array, List<String> list, int k, int n) {if (n == k) {if (array[2] != '4') {// 第三个位置不能出现4String str = new String(array);if (str.indexOf("53") < 0 && str.indexOf("35") < 0) {// 3,5不能连续出现list.add(str);}}} else {for (int i = k; i < n; i++) {swap(array, k, i);comb(array, list, k + 1, n);swap(array, k, i);}}}private static void swap(char[] a, int x, int y) {char temp = a[x];a[x] = a[y];a[y] = temp;}}
该算法的巧妙之处在于始终都只用了 char[] c 一个数组,在排序过程中将其排序结果存储后,char[] c 的顺序进行还原再排列组合。
- Java排列组合算法
- JAVA排列组合算法
- 排列组合递归算法 java
- java排列组合算法
- java排列组合算法
- Java实现排列组合算法
- 排列组合算法 java
- 排列组合算法(Java)
- 【转】JAVA实现排列组合算法
- java排列组合算法代码实现
- java排列组合算法代码实现
- java递归算法中的排列组合问题及排列组合去重
- 高效率的排列组合算法(java实现)
- Java面向对象的排列组合算法
- java排列组合算法(n选n)
- Java 算法设计 多数组排列组合问题
- java算法-省赛来了(排列组合)
- java排列组合算法(M选N)
- 生成条形码的代码
- js表单验证_用户登录验证
- Codeforces VK Cup 2012 Qualification Round 1 / 158A Next Round(模拟)
- 《Handler: Activity 之间通过 Handler 通信》 & 《通过Handler更新UI》
- hdu 2604 Queuing 矩阵
- JAVA排列组合算法
- JS窗口改变触发事件
- 兔子生兔子
- 推荐一个查看源码的好工具Source Insight
- MapReduce Join联结实现
- “肮脏的”IT工作排行榜
- tkprof各个字段的解释
- 查找使用列的表
- java BufferedImage 合成多张图片