博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Permutations
阅读量:4074 次
发布时间:2019-05-25

本文共 1293 字,大约阅读时间需要 4 分钟。

Permutations

Given a collection of numbers, return all possible permutations.

For example,
[1,2,3] have the following permutations:
[1,2,3][1,3,2][2,1,3][2,3,1][3,1,2], and [3,2,1].

Java代码:

public static List
> permute(int[] num) { LinkedList ans = new LinkedList<>(); // queue ans.offer(new LinkedList
()); // init with empty list // loop through sizes of lists used for inserting new element in asc // order for (int n = 0; n < num.length; n++) { // loop through all lists of a current size while (n == ((List
>) ans.peek()).size()) { List
l = (List
) ans.poll(); // next "base" // list of a // curr size // loop through all position in a "base" list generating new // list for (int i = 0; i <= l.size(); i++) { LinkedList
newL = new LinkedList<>(l.subList(0, i)); newL.add(num[n]); newL.addAll(l.subList(i, l.size())); ans.offer(newL); } } } return ans; } public static void main(String[] arqs) { int[] num = new int[] { 1, 2, 3 }; List
> result = permute(num); Iterator ite = result.iterator(); while (ite.hasNext()) { List
list = (List
) ite.next(); Iterator ite_2 = list.iterator(); System.out.print("{"); while (ite_2.hasNext()) { int x = (Integer) ite_2.next(); System.out.print(x); } System.out.print("}\n"); } }

转载地址:http://yiuni.baihongyu.com/

你可能感兴趣的文章
【设计模式】学习笔记14:状态模式(State)
查看>>
poj 1976 A Mini Locomotive (dp 二维01背包)
查看>>
斯坦福大学机器学习——因子分析(Factor analysis)
查看>>
项目导入时报错:The import javax.servlet.http.HttpServletRequest cannot be resolved
查看>>
linux对于没有写权限的文件如何保存退出vim
查看>>
Windows下安装ElasticSearch6.3.1以及ElasticSearch6.3.1的Head插件
查看>>
IntelliJ IDEA 下的svn配置及使用的非常详细的图文总结
查看>>
【IntelliJ IDEA】idea导入项目只显示项目中的文件,不显示项目结构
查看>>
ssh 如何方便的切换到其他节点??
查看>>
JSP中文乱码总结
查看>>
Java-IO-File类
查看>>
Java-IO-java的IO流
查看>>
Java-IO-输入/输出流体系
查看>>
Java实现DES加密解密
查看>>
HTML基础
查看>>
Java IO
查看>>
Java NIO
查看>>
Java大数据:Hbase分布式存储入门
查看>>
大数据学习:Spark RDD操作入门
查看>>
大数据框架:Spark 生态实时流计算
查看>>