[算法]计算全排列组合数
2018-09-13 16:42
344 查看
求一个字符串的全排列所有情况。
输入:
2
输出:
012
021
102
120
201
210
6
代码实现:
package com.darrenchan; import java.util.*; public class Yongyou { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); String[] array = new String[n + 1]; for (int i = 0; i <= n; i++) { array[i] = i + ""; } List<String> list = new ArrayList<>(); listAll(Arrays.asList(array), "", array.length, list); for (String s : list) { System.out.println(s); } System.out.println(list.size()); } public static void listAll(List candidate, String prefix, int n, List<String> list){ if (prefix.length() == n) { list.add(prefix); } for (int i = 0; i < candidate.size(); i++) { List tmp = new LinkedList(candidate); listAll(tmp, prefix + tmp.remove(i), n, list);//函数中的参数从右边开始解析 } } }
相关文章推荐
- C# 计算排列组合数,及列出所有组合形式的算法
- 清华组合数学第一章经典复习题,用六种算法计算839647521后999种排列
- STL中计算排列组合关系的算法
- 2015创发科技校园招聘笔试题——排列和组合的算法实现
- php算法 阶乘、排列、组合
- 算法之排列和组合算法
- 基于python快速实现排列组合算法
- 关于排列组合算法的心得
- 从0到9取4位不同数字的排列组合算法
- 33选6算法:M个数N个为一组,无重复的排列组合
- 排列组合算法
- c语言实现排列组合算法问题
- 一个排列、组合的生成算法
- 算法之排列与组合算法
- 高效率的排列组合算法
- 算法:排列组合之C(N,M)
- JS计算排列组合结果个数(双色球,大乐透计算注数)
- [经典算法] 排列组合-N元素集合的所有子集(二)
- 排列组合公式/排列组合计算公式
- 全排列算法与全组合算法