当前位置: 首页 > wzjs >正文

胶州市城乡建设局网站网站宣传

胶州市城乡建设局网站,网站宣传,商丘seo快速排名,哈尔滨网站建设维护目录 题目 思路 代码 题目 给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。 示例 1: 输入:nums [1,1,2] 输出: [[1,1,2],[1,2,1],[2,1,1]]示例 2: 输入:nums [1,2,3] 输出…

目录

题目

思路 

代码


题目

给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。

示例 1:

输入:nums = [1,1,2]
输出:
[[1,1,2],[1,2,1],[2,1,1]]

示例 2:

输入:nums = [1,2,3]
输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]

思路 

去重一定要对元素进行排序,这样我们才方便通过相邻的节点来判断是否重复使用了

一般来说:组合问题和排列问题是在树形结构的叶子节点上收集结果,而子集问题就是取树上所有节点的结果

对于排列问题,树层上去重和树枝上去重,都是可以的,但是树层上去重效率更高!

这么说是不是有点抽象?

来来来,我就用输入: [1,1,1] 来举一个例子。

树层上去重(used[i - 1] == false),的树形结构如下:

47.全排列II2

树枝上去重(used[i - 1] == true)的树型结构如下:

47.全排列II3

大家应该很清晰的看到,树层上对前一位去重非常彻底,效率很高,树枝上对前一位去重虽然最后可以得到答案,但是做了很多无用搜索。

那如果都可以,直接去掉哪个条件可以吗?

不可以!得一直是 true 或者一直是false 才可以,而不是 一会是true 一会又是false

代码

class Solution {List<List<Integer>> result=new ArrayList<>();LinkedList<Integer> path=new LinkedList<>();boolean[] used;//用来标记他使用过没有public List<List<Integer>> permuteUnique(int[] nums) {used=new boolean[nums.length];Arrays.sort(nums);//先排序,让相同的数字排列在一起Arrays.fill(used, false);backTracking(nums,used);return result;}public void backTracking(int[] nums,boolean[] used){if(path.size()==nums.length){result.add(new ArrayList<>(path));//叶子节点,收集}for(int i=0;i<nums.length;i++){if(i>0&&nums[i]==nums[i-1]&&used[i-1]==false){//重复continue;}if(used[i]==false){//表示数字不能重复取used[i]=true;path.add(nums[i]);backTracking(nums,used);path.remove(path.size()-1);//回溯used[i]=false;}}}
}

http://www.dtcms.com/wzjs/160540.html

相关文章:

  • 怎样建公司网站百度竞价员
  • 设计比较好的电商网站百度推广方案怎么写
  • 公司用wordpress沈阳seo关键词排名
  • 有没有帮别人做创意的网站搜索引擎优化特点
  • 网站排队队列怎么做百度问问首页
  • 怎么对自己做的网站进行加密今天重大新闻头条新闻
  • 做网站廊坊外贸网站平台都有哪些
  • 品质好的人如何优化关键词搜索
  • 长沙模板建站哪家好济南谷歌推广
  • 群晖做网站域名专业推广引流团队
  • wordpress上传视频人50哈尔滨网络推广优化
  • 网站域名解释怎么做营销活动推广策划
  • 学校网站建设意义有哪些百度站长工具使用方法
  • WordPress到底好不好用seo上海公司
  • 博客的网站页面设计网站推广和优化的原因网络营销
  • 运营网站需要什么条件南宁网站推广营销
  • 信息图表设计网站河南做网站优化
  • 石家庄网站建设燕杰app开发多少钱
  • 东莞市工程建设安监站网站深圳seo云哥
  • 个人网站如果做站长之家最新网站
  • 网站建设目的高清网站推广免费下载
  • 天津武清做网站tjniu大连网站建设费用
  • 做网站的电脑配置软文代写平台有哪些
  • 北京公司名称宁波正规优化seo价格
  • 黑龙江建设网站打不开seo入门版
  • 怎么给网站做链接百度一下全知道
  • 江门网站优化经验链接推广
  • 没有公司做网站犯法吗seo优化人员
  • 杭州专业网站建设公司google国际版入口
  • 网站开发工资可以搜任何网站的浏览器