//[a,b,c,d]生成组合数,从4个选2个,从4个选3个   n是选几个
public static List<List<T>> findSortedCombinations(Collections<T> elements,int n)
{List<List<T>> result = new ArrayList<List<T>>();//递归出口if(n==0){result.add(new ArrayList());return result;//第一次返回[[],null,null,...]}//n-1递归,可以想象n的组合是n-1的组合扩展而来List<List<T>>  combinations = findSortedCombinations(elements,n-1);for(List<T> combination : combinations){for(T element:elements){if(combination.contains(element)){continue;}List<T> listTmp = new ArrayList<T>();listTmp.addAll(combination);//list1=[1,2] list2.addAll(list1);则list2=[1,2]if(listTmp.contains(element)){ continue;  }listTmp.add(element);//对元素排序,避免重复元素Collections.sort(listTmp);if(result.contains(listTmp)){ continue; }result.add(listTmp);}}return result;
}

【Data Algorithms CHP07】数组生成组合排列相关推荐

  1. java数组排列组合_java算法题--递归求数组中数字排列组合问题

    java算法题–递归求数组中数字排列组合问题 题目:有一个数组{1,2,3},输出数组中数字的所有可能组合: 比如:123.132.213- 解题思路 通过递归不停的交换数组中的两个数(当然,肯定是有 ...

  2. 二进制子集生成与排列组合

    二进制子集生成与排列组合 咳咳,二进制我觉得很有必要单独列出来,二进制的玩法还是很多的,比较多的就是表示多重状态,因为只有1和0的存在,每一位可以表示可取或者不可取,还能配合排列组合使用,来试试. 首 ...

  3. java 中文 音序,java 中文字符串数组按照音序排列

    java 中文字符串数组按照音序排列 复制代码 代码如下: public class SortComparator implements Comparator{ public int compare( ...

  4. [转载] pythonjson构建二维数组_python二维键值数组生成转json的例子

    参考链接: python json 10: Datetime与json的相互转化 python二维键值数组生成转json的例子 今天出于需要,要将爬虫爬取的一些数据整理成二维数组,再编码成json字符 ...

  5. 关于算法—— 一维字符串数组之间组合问题的C#实现

    如题,最近需要处理一些字符串数组之间相互无重组合的实际问题. 把问题抽象出来,实际就是数学中的排列组合问题,思想很简单,只是在实现上着实花了一些功夫,而且代码尚需进一步优化,写下来希望能和大家一起探讨 ...

  6. 递归学习_组合_全组合排列

    Sample Input 3 1 2 3 Sample Output 123 132 213 231 312 321 #include <iostream> using namespace ...

  7. Vue.js入门学习--列表渲染--v-for遍历数组生成元素(四)

    完整案列demo: <html><head><title>列表渲染--v-for遍历数组生成元素</title><script src=" ...

  8. js求N个数组所有组合

    在开发商品发布的时候遇到一个需要求n个数组所有组合的问题,具体为商品的属性为一个数组,属性的会有不同,每个属性的属性值也不同,可能是0~N个. 举个例子:假设进了一批手机,手机的属性如下所示: 运行内 ...

  9. 索玛立方体所有组合/排列,解决方案及代码实现

    基本情况介绍:索玛立方体(3*3*3),可由7块不同形状的积木拼成,且积木标以不同的颜色,即yellow, green, purple, orange, red, dark blue, baby bl ...

最新文章

  1. bean的scope
  2. Netflix Curator 使用 Zookeeper 编程
  3. java中不同包中怎么实例化,Java 笔试题 (01)
  4. 嵌入式无法使用QAudioDeviceInfo类
  5. FMCW毫米波雷达原理
  6. 实验二:编写输出Hello World!
  7. html标签之间去掉空白,html – 减少两个标签之间的空白差距
  8. Linux 网络安全技巧
  9. php session 共享,同步
  10. EMOS1.6下的php支持GD库
  11. 数字图像处理-绪论 (上)
  12. BoundsChecker下载
  13. 【语音信号处理】3语音信号可视化——prosody
  14. 前端培训课随感,传智、千锋、尚硅谷、渡一
  15. The fundamentals of millimeter wave radar sensors——毫米波雷达传感器基本原理
  16. SQLserver基础--语句、存储过程(七)
  17. 遥感在计算机领域的应用,浅谈遥感技术在测绘领域发展应用.doc
  18. App Store上架流程/苹果app发布流程
  19. C语言写一个函数,输入一行字符,将此字符串中最长的单词输出
  20. 使用URDF创建机器人3D仿真模型

热门文章

  1. Ubuntu 16.04 LTS GNOME版本下载
  2. 小米miui系统怎么关闭文件管理里的热门视频和表情?
  3. Hadoop + HBase (自带zookeeper 也可单独加) 集群部署
  4. leetcode 5 :Longest Palindromic Substring 找出最长回文子串
  5. GNU make 和 makefile
  6. Robocopy.exe使用详例
  7. 【Scala-spark.mlib】通过Maven工程导入Mlib库
  8. H.265的NALU
  9. Python图像处理,替代PS做好效果图!
  10. 你们都是怎么学 Python 的?