博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode46 Permutation 排列组合
阅读量:7229 次
发布时间:2019-06-29

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

题目要求

Given a collection of distinct 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],  [3,2,1]]

也就是得出所有可能的排列组合结果

解题思路和代码

这题显然采用递归的思路。例如,如果我们知道两个元素所有排列组合的结果,那么在该排列组合的结果上加入第三个元素,只需将第三个元素插入双元素排列组合结果的不同位置上即可以生成三个元素排列组合的结果。四个元素同理。

在这里,我采用LinkedList实现队列,从队列头获得上一组的结果,和当前元素结合之后,将结果插入到队尾。

public List
> permute(int[] nums) { LinkedList
> result = new LinkedList
>(); if(nums.length == 0){ return result; } List
first = new LinkedList
(); first.add(0, nums[0]); result.add(first); List
temp; for(int i = 1 ; i
(temp)); temp.remove(j); } }while(result.getFirst().size() == i); } return result; }

clipboard.png

想要了解更多开发技术,面试教程以及互联网公司内推,欢迎关注我的微信公众号!将会不定期的发放福利哦~

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

你可能感兴趣的文章
scrollview不充满屏幕的原因
查看>>
PHP单例模式
查看>>
解密敏捷自动化测试
查看>>
DelphiMVC拦截器介绍
查看>>
Spring Cloud构建微服务架构:分布式配置中心【Dalston版】
查看>>
iOS 11正式版终于来了!强力助攻小程序
查看>>
开放平台API接口调用频率控制系统设计浅谈
查看>>
Lucene4.3进阶开发之潜龙勿用( 七)
查看>>
DTD和schema小总结
查看>>
去掉导航栏的黑线
查看>>
怎样让html加载完毕后加载js代码
查看>>
piwik 案例介绍
查看>>
敏感字过滤
查看>>
为什么我们要从 NodeJS 迁移到 Ruby on Rails
查看>>
Android 文件式数据库Realm
查看>>
Linux 面试知识点笔记
查看>>
论flex布局和box布局的华为meta8手机自带浏览器的兼容
查看>>
dubbo与springcloud初识
查看>>
iis web.config 配置示例
查看>>
归并排序
查看>>