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

香河县住房和城乡建设局网站关键词seo排名怎么选

香河县住房和城乡建设局网站,关键词seo排名怎么选,阿里巴巴外贸批发网,巴中做网站 微信开发一. 学习文章及资料 491.递增子序列46.全排列47.全排列 II 二. 学习内容 1. 递增子序列 (1) 题目要点: 递增子序列,数组中可能含有重复元素 (2) 解题思路: 如下一选取元素不是递增或使用过,则跳过这一分支,用set记…

一. 学习文章及资料

  • 491.递增子序列
  • 46.全排列
  • 47.全排列 II

二. 学习内容

1. 递增子序列

(1) 题目要点:

  • 递增子序列,
  • 数组中可能含有重复元素

(2) 解题思路:

如下一选取元素不是递增或使用过,则跳过这一分支,用set记录已使用元素以达去重效果

class Solution {List<List<Integer>> result=new ArrayList<>();List<Integer> path=new LinkedList<>();void backtracking(int[] nums,int startIndex){if(path.size()>=2){result.add(new ArrayList(path));}HashSet<Integer> hs=new HashSet<>();for(int i=startIndex;i<nums.length;i++){if(!path.isEmpty()&&path.get(path.size()-1)>nums[i]||hs.contains(nums[i])){//如下一个数不是递增或使用过,则跳过continue;}hs.add(nums[i]);path.add(nums[i]);backtracking(nums,i+1);path.removeLast();}return;}public List<List<Integer>> findSubsequences(int[] nums) {backtracking(nums,0);return result;}
}

2. 全排列

(1) 解题要点:

  • 没有重复数字
  • 返回其所有可能的全排列

(2) 解题思路:

首先排列是有序的,也就是说 [1,2] 和 [2,1] 是两个集合,这和之前分析的子集以及组合所不同的地方。可以看出元素1在[1,2]中已经使用过了,但是在[2,1]中还要在使用一次1,所以处理排列问题就不用使用startIndex了,每层i都从0开始,使用used数组记录使用情况

class Solution {List<List<Integer>> result=new ArrayList<>();List<Integer> path=new LinkedList<>();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(used[i]==true) continue;used[i]=true;path.add(nums[i]);backtracking(nums,used);path.removeLast();used[i]=false;}return;}public List<List<Integer>> permute(int[] nums) {boolean[] used=new boolean[nums.length];backtracking(nums,used);return result;}
}

3. 全排列 II

(1) 题目要点:

  • 包含重复数字
  • 返回所有不重复的全排列

(2) 题目思路:

以示例中的 [1,1,1]为例 (为了方便举例,已经排序)抽象为一棵树,去重过程如图:

47.全排列II2

图中我们对同一树层,前一位(也就是nums[i-1])如果使用过,那么就进行去重。

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

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

class Solution {List<List<Integer>> result=new ArrayList<>();List<Integer> path=new LinkedList<>();void backtracking(int[] nums,boolean[] used){if(path.size()==nums.length){result.add(new ArrayList(path));return;}for(int i=0;i<nums.length;i++){// used[i - 1] == true ,说明同一树枝nums[i - 1]使用过// used[i - 1] == false,说明同一树层nums[i - 1]使用过if(i>0&&nums[i]==nums[i-1]&&used[i-1]==false) continue;//防止一种数字重复使用if(used[i]==false){//每个元素数只能用一次,防止重复使用path.add(nums[i]);used[i]=true;backtracking(nums,used);used[i]=false;path.removeLast();}}}public List<List<Integer>> permuteUnique(int[] nums) {boolean[] used = new boolean[nums.length];Arrays.sort(nums); backtracking(nums,used);return result;}
}

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

相关文章:

  • 产品宣传网站开发百度指数预测
  • 如何做介绍监控公司的网站app线下推广怎么做
  • 基于c 的网站开发论文如何快速推广自己的网站
  • 哪个网站做系统免费seo诊断
  • 网站建设问题及解决办法优化大师人工服务电话
  • 美工常用找素材网站矿泉水软文广告500字
  • 长春网页建站模板天津优化公司
  • 做婚姻网站流程24小时自助下单平台网站便宜
  • 免费企业邮箱有哪些韩国seocaso
  • 南昌做兼职的网站设计站长统计app下载大全
  • 网站建设公司怎么样seo运营推广
  • 网站建设公司江西app广告推广
  • 微信公众号 网站开发 2016哈尔滨百度公司地址
  • 网站版面的美化原则发稿推广
  • seo批量建站方法全国疫情最新情报
  • 高端网站建设要公司网站
  • 武汉新公司做网站|武昌专业做网站--武汉金宇盈科技有限公司网络推广seo
  • 中国建设工程招标网官方网站怎么做网站免费的
  • 计算机专业主要学什么学科麒麟seo软件
  • 公司英文网站建设北京网优化seo优化公司
  • 怎么把自己的网站做自适应网站游戏推广渠道有哪些
  • 做标书的网站西安seo报价
  • 免费设计房屋的网站跨境电商培训机构哪个靠谱
  • 百度免费推广登录入口哈尔滨网站优化流程
  • 深圳哪些设计公司做网站比较出名换友情链接的网站
  • 自由设计师是什么意思南昌网站seo外包服务
  • 甘肃做网站哪家好网站推广方法大全
  • 济源市建设工程管理处网站小说百度风云榜
  • 个人网站备案通过做淘客优化疫情防控措施
  • 西安做网站的在哪磁力兔子搜索引擎