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

建站软件20172022最新国际新闻10条简短

建站软件2017,2022最新国际新闻10条简短,唐山网站设计,卖域名的公司 骗做网站leetcode 90 思路 之前有一篇博文和本题很相似,可以参考:leetcode78-子集 本题是子集II,和子集的区别就是本题中的元素可能是重复的,并且nums是无序的,对于这种类型的题,也和之前发布的一篇博文很相似&a…

leetcode 90
在这里插入图片描述

思路

之前有一篇博文和本题很相似,可以参考:leetcode78-子集
本题是子集II,和子集的区别就是本题中的元素可能是重复的,并且nums是无序的,对于这种类型的题,也和之前发布的一篇博文很相似:组合总和II
这里的难点在于去重,去重的逻辑和组合总和II完全相似,首先对于无序的nums,我们需要给他进行排序,否则无法知道是否是重复的,在排序完成后,我们可以通过下一个元素和上个元素进行比较,如果相同说明是重复的,但是需要注意的是,前一个元素和后一个元素相同的时候还不能是同一个层级的,这里的startIndex是开始遍历的初始节点,如果i > startIndex的时候说明开始节点不同,和前一个元素不属于同一个层级,什么时候可能是同一个层级呢? 假设nums = [1,2,2] startIndex = 0,就是从0开始的时候,会有多个深度遍历,path = [1], path = [1,2], path = [1,2,2]都是从1开始的,也就是这些path都是从startIndex = 0开始的,往深度去遍历,这种情况就是一个层级,path = [1,2,2]的时候第三个元素和第二个元素相同但是这是可以作为答案的,所以不能return,所以需要i > startIndex

实现

var subsetsWithDup = function (nums) {let result = [], path = [];nums.sort((a, b) => a - b);const backtracking = (nums, startIndex) => {result.push([...path])if (startIndex === nums.length) return;for (let i = startIndex; i < nums.length; i++) {if (i > startIndex && nums[i] === nums[i - 1]) {continue}path.push(nums[i])backtracking(nums, i + 1)path.pop()}}backtracking(nums, 0)return result;
};
http://www.dtcms.com/wzjs/240351.html

相关文章:

  • 用html做简单网站惠州seo排名优化
  • 网站建设管理报告南宁百度seo公司
  • wordpress 怎么修改鼓楼网站seo搜索引擎优化
  • 外贸网站建设行情自助建站免费建站平台
  • 山东省建设资格注册中心网站软文怎么做
  • 农业公司注册流程及费用广州网络优化最早的公司
  • 华为网站建设的目标是否明确郑州网站关键词排名技术代理
  • 云南建设投资控股集团有限公司网站珠海网站建设
  • 南阳做网站价格2019年 2022疫情爆发
  • 如何设计优秀的公司网站互联网项目推广
  • 烟台网站的建设个人主页网页设计模板
  • 农业大学网站建设特点深圳网站设计小程序
  • 深圳网站开发公司哪家好网页设计与制作作业成品
  • 甘肃省环保建设申报网站品牌营销策划书
  • 重庆企业网站制作公司百姓网推广电话
  • 地方门户网站建设要求申请域名
  • 安徽休宁建设厅网站网店代运营正规公司
  • 网站制作公司 郑州青岛seo整站优化招商电话
  • 哪些网站做黑名单seo排名优化公司
  • 淘宝上做微请帖的在哪个网站十种营销方式
  • 住房和城乡建设厅电工证东莞seo优化排名推广
  • 西安中风险地区百度竞价推广关键词优化
  • 建筑装饰公司做网站的作用seo排名快速上升
  • 政府网站内容建设 规范企业培训体系
  • php电子商务网站开发实例网站搜索排名优化怎么做
  • 独立网店系统seo的基本步骤是什么
  • 昆明网站推广排名文案写作软件app
  • 珠海网站建设杰作科技sem竞价托管价格
  • 网站开发技术介绍大连企业网站建站模板
  • 网站建设中英文版中国搜索引擎市场份额