1到n的所有排列情况
来源:互联网 发布:美团外卖数据分析2017 编辑:程序博客网 时间:2024/05/19 18:37
用递归实现,可以这样考虑,n个数的所有情况是 n-1个数的所有排列情况在每种情况中从前往后依次插入第n个数构成的。
具体代码如下:
public class MyTest { public static List<List<Integer>> f(int n){ List<List<Integer>> listlist=new ArrayList<>(); if(n==1){ List<Integer> list=new ArrayList<>(); list.add(1); listlist.add(list); return listlist; }else{ List<List<Integer>> listList2=f(n-1); for(List<Integer> list:listList2){ for(int i=0;i<n;i++){ List<Integer> lst=new ArrayList<>(list); lst.add(i,n); listlist.add(lst); } } return listlist; } } public static void main(String[] args){ List<List<Integer>> list=f(4); for(List<Integer> lst:list){ System.out.println(lst); } System.out.println(list.size()); }}[4, 3, 2, 1]
[3, 4, 2, 1]
[3, 2, 4, 1]
[3, 2, 1, 4]
[4, 2, 3, 1]
[2, 4, 3, 1]
[2, 3, 4, 1]
[2, 3, 1, 4]
[4, 2, 1, 3]
[2, 4, 1, 3]
[2, 1, 4, 3]
[2, 1, 3, 4]
[4, 3, 1, 2]
[3, 4, 1, 2]
[3, 1, 4, 2]
[3, 1, 2, 4]
[4, 1, 3, 2]
[1, 4, 3, 2]
[1, 3, 4, 2]
[1, 3, 2, 4]
[4, 1, 2, 3]
[1, 4, 2, 3]
[1, 2, 4, 3]
[1, 2, 3, 4]
24
阅读全文
0 0
- 1到n的所有排列情况
- 找出1到n所有不重复的排列,即n的全排列。
- Java中实现打印1—N个数字排列的所有情况
- N!打印1-N的所有排列源代码
- 1到n的全排列
- 1到n的全排列实现
- 输出 1 到 n 的全排列
- 输出N个数中取M个数的所有组合,排列情况
- 排列(长度为n的字符串所有组成情况)--java实现
- 算法实现:字符串的所有排列情况
- 所有情况下全排列的实现
- 求出abcde/fghij=n的所有情况,其中,a~j为0~9的一个排列
- n对括号组合的所有情况
- 用dfs实现1到n的全排列
- ACM-写出1到n的全排列
- 生成1到n的随机排列(C++实现)
- 求1到n的全排列(搜索入门)
- 1到n全排列的真正复杂度
- Java十二平均律判断
- JNDI
- HDU-1503 Advanced Fruits
- jdbcTemplate操作数据库
- 【C++】String类拷贝构造函数——深拷贝普通版和简洁版
- 1到n的所有排列情况
- 搜索-O
- 任务二(Html Css简单学习与知识整理)
- org.apache.ibatis.exceptions.PersistenceException: ### Error building SqlSession. ### The error may
- UI设计师注意,网站头图的10个黄金法则
- 我的第一篇博客
- Magento 2中文手册教程
- 网站seo优化需要注意的关键要点
- bzoj4589 FWT