蓝桥杯——说好的进阶之去重复元素的排列组合
来源:互联网 发布:深圳云计算产业协会 编辑:程序博客网 时间:2024/06/06 01:49
将待排列(组合)的数组,先分别统计出种类和个数,然后进行避免重复的排列(组合)。
/* 1,1,2,3的排列组合 去重复 * (借此复习排列组合) * * 1:2 2个1 * 2:1 1个2 * 3:1 1个3 * * */static int[] iarr = new int[3];//目标序列static int[] carr = new int[] { 1, 2, 3 };//3种itemstatic int[] used = new int[] { 2, 1, 1 };//每种item有几个可用public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println("不重复的排列:");dfs(0);System.out.println("不重复的组合:(字典序)");cal(0, 0);}static void dfs(int p) {if (p == 3) {// findfor (int i : iarr) {System.out.print(i + "");}System.out.println();} else {for (int i = 0; i < used.length; i++) {if (used[i] > 0) {used[i]--;iarr[p] = carr[i];dfs(p + 1);used[i]++;}}}}static void cal(int p, int j) {if (p == 3) {// findfor (int i : iarr) {System.out.print(i + "");}System.out.println();} else {for (; j < used.length; j++) {if (used[j] > 0) {used[j]--;iarr[p] = carr[j];cal(p + 1, j);used[j]++;}}}}
0 0
- 蓝桥杯——说好的进阶之去重复元素的排列组合
- 蓝桥杯——说好的进阶之数字三角形
- 蓝桥杯——说好的进阶之装箱问题
- 蓝桥杯——说好的进阶之01背包问题
- 蓝桥杯——说好的进阶之完全背包问题
- 蓝桥杯——说好的进阶之入学考试
- 蓝桥杯——说好的进阶之和式分解
- 蓝桥杯——说好的进阶之回溯法
- 蓝桥杯——说好的进阶之买不到的数目
- 蓝桥杯——说好的进阶之最长递增子序列
- 蓝桥杯——说好的进阶之最长公共子序列
- 蓝桥杯——说好的进阶之最大连续子数组
- 蓝桥杯——说好的进阶之取数博弈游戏(动态规划实现)
- 蓝桥杯——说好的进阶之砝码称重(贪心算法)
- 蓝桥杯——说好的进阶之多叉树的遍历
- 字符串的全排列组合(去重复)的相关问题
- 说好的评论哪里去了
- 刘翔——说好的2012呢
- 相信什么,生命就走向什么
- linux_2.6.30.4_Makefile_4--make zImage流程
- 项目笔记
- MongoDB_04之runCommand()函数
- 循环读取目录中的子目录和其中的文件
- 蓝桥杯——说好的进阶之去重复元素的排列组合
- 递归实现int转化为char字符串
- java线程池管理
- leetcode第一刷_Spiral Matrix II
- 顺序表的增删改查
- 中国天气网 天气预报API 国家气象局 根据城市名称抓取城市ID,XML格式、JSON格式、图片代码
- 线段树-poj-2823
- Android小应用----背景图片设置器
- 分享一个计算机控制的实验例程