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

网业安全防护如何关闭广州市口碑seo推广外包

网业安全防护如何关闭,广州市口碑seo推广外包,米定制网的网站是那个公司做,网页设计需求模板leetcode 40 思路 在做本题之前可以参考之前的文章:组合总和和组合总和III 本题的关键点是:每个元素只能使用一次,另外本题给的数组是无序的,并且元素之间可能存在重复项,举个例子,candidates [1,2,1,1…

leetcode 40
在这里插入图片描述

思路

在做本题之前可以参考之前的文章:组合总和和组合总和III
本题的关键点是:每个元素只能使用一次,另外本题给的数组是无序的,并且元素之间可能存在重复项,举个例子,candidates = [1,2,1,1],这种可能性存在,所以本题的关键在于去重
假设candidates = [1,2,1,1], target = 3 可能的情况是:[1,2], [1,1,1]
也就是说元素每个元素1都是一个单独的元素,这里三个1可以组合成一个满足条件的答案,但是[1,2]这个组合最终只能有一个,我们可能看到这个题的时候最开始的想法是想通过普通的组合总和的方式拿到所有结果以后再去重,但是最后来进行去重工作量大,并且不容易通过leetcode的时间校验,所以最好的方式是在遇到重复的时候就进行排除
我们首先对其进行排序,排序后得到的结果[1,1,1,2]
然后我们先从第一个元素1开始拿到值以后放入path中,加入后续的元素形成组合,当遇到path = [1,1,1]的时候说明拿到了结果放入result中,后续通过回溯pop之后path = [1]再把2加入,得到path = [1,2]满足条件,放入result中此时第一层i = 0的元素已经与后续元素都组合完成,现在要更新startIndex = 1,遍历第二层i = 1,但是我们发现这个元素仍然为11和后续元素的所有可能形成的组合在前一个元素那里已经组合过一次了,所以需要去重。于是我们判断当candidates[i] === candidates[i-1]时,也就是下一个元素等于上一个元素的时候,我们要跳过,但是如果这样写的话只要遇到相同元素都会跳过,此时就会把[1,1,1]这个答案排除在外,所以需要再加上一个条件,只有当层级遍历中的下一个元素和上一层的元素相等的时候,才跳过,所以需要i > startIndex

这里如果想不通的话可以用vscode的debugger模式调试一下,看看每一步的过程是什么时候进行跳过的

实现

var combinationSum2 = function (candidates, target) {// 排序-从小到大candidates = candidates.sort((a, b) => a - b);let result = [], path = [], sum = 0;const backtracking = (candidates, target, startIndex) => {if (sum === target) {result.push([...path])return}if (sum > target) returnfor (let i = startIndex; i < candidates.length; i++) {// 新的一层中存在和上一层元素相同,需要去重if(i > startIndex && candidates[i] === candidates[i-1]) continue;path.push(candidates[i])sum += candidates[i]backtracking(candidates,target,i+1)sum -= path.pop()}}backtracking(candidates, target, 0)return result
};
http://www.dtcms.com/wzjs/354162.html

相关文章:

  • 企业信用信息查询网官网石家庄seo全网营销
  • 杭州 洛阳网站建设公司 网络服务个人永久免费自助建站
  • 青岛公司网站建设价格低网站百度
  • 北京微网站站长网
  • 邯郸网站制作哪里做百度企业号
  • 网络公司排名最新排名西安seo外包
  • wordpress外贸网站怎么买域名自己做网站
  • 上市公司做网站百度网盘网页
  • 做网站第三方桂平seo快速优化软件
  • 响应式品牌网站设计百度开户渠道
  • 网站推广目标关键词广州关于进一步优化疫情防控措施
  • 怎么做直播视频教学视频网站百度服务热线电话
  • python库之web网站开发PPT网络营销的营销方式是什么
  • 做的好的排版网站seo日常工作
  • 网站 规划方案网站交易
  • 招商网站怎么做站长统计免费下载
  • 京东网站建设流程图换友情链接的网站
  • 有独立IP如何建设网站关键词搜索工具好站网
  • 企业建网站流程北京软件培训机构前十名
  • 做黑彩网站赚钱吗互联网广告营销是什么
  • 自己做的网站二维码怎么做的自助建站网
  • 目前做汽配的网站有哪些线上推广渠道主要有哪些
  • 长沙网站建设市场低价网络推广有多少种方法
  • 网站后台管理员怎么做国内广告联盟平台
  • 深圳品牌做网站公司哪家好今日头条新闻最全新消息
  • 佳木斯网站设计花都网站建设公司
  • 自己做网站靠什么赚钱网络整合营销是什么意思
  • b2c电商网站开发提高网站排名
  • 现在网站都是拿什么软件做的目前推广平台都有哪些
  • 长春网站建设翻译qq群推广网站