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

桥头网站建设沈阳网页设计课

桥头网站建设,沈阳网页设计课,免费在线观看电影网站,上海网站建设不好2023.7.19 此题为 组合总和 的升级版。本题的特殊之处在于 给定的candidates数组只一个无序且包含重复元素的数组#xff0c;并且最终的解集不能包含重复的组合。 所以本题的关键在于去重。那么#xff0c;此类题的去重分为两种#xff0c;一种是解集内部去重#xff0c;灵…2023.7.19 此题为 组合总和 的升级版。本题的特殊之处在于 给定的candidates数组只一个无序且包含重复元素的数组并且最终的解集不能包含重复的组合。 所以本题的关键在于去重。那么此类题的去重分为两种一种是解集内部去重灵一种是解集之间的去重。 解集内部去重指不允许存在诸如{116}的解集本题题意说了candidates中的每个数字在每个组合中只能使用一次所以解集内部是需要去重的去重方法在组合总和已经使用过即在递归的时候将start_index1即可。有人可能会问示例中输出为什么有解集{116} 那是因为candidates数组本身就存在重复的元素也就是说两个1其实不是同一个1。 解集之间去重指不允许存在{116}和{161}这样的重复解集于是代码之中需要加一条去重的判断逻辑。 如果把回溯过程想象成树的话那么解集之间去重就是指树的横切面不能有相同的元素。下面直接看代码 class Solution { public:vectorvectorint ans;vectorint path;void backtrating(vectorint candidates,int target,int sum,int start_index){if(sum target){ans.push_back(path);return;}if(sum target) return;for(int istart_index; icandidates.size(); i){if(istart_index candidates[i]candidates[i-1]) continue;//解集间去重path.push_back(candidates[i]);sum candidates[i];backtrating(candidates,target,sum,i1);//解集内部去重sum - candidates[i];path.pop_back();}}vectorvectorint combinationSum2(vectorint candidates, int target) {sort(candidates.begin(),candidates.end());backtrating(candidates,target,0,0);return ans;} }; 2023.7.23 也可以定义一个used数组判别当前元素是否在树枝上使用过如果没有那么就在树层上产生重复元素看代码 class Solution { public:vectorvectorint ans;vectorint path;void backtrating(vectorint candidates,int target,int sum,int start_index,vectorboolused){if(sum target){ans.push_back(path);return;}if(sum target) return;for(int istart_index; icandidates.size(); i){//if(istart_index candidates[i]candidates[i-1]) continue;//树层去重if(i0 candidates[i]candidates[i-1] used[i-1]false) continue;used[i]true;path.push_back(candidates[i]);sum candidates[i];backtrating(candidates,target,sum,i1,used);sum - candidates[i];path.pop_back();used[i]false;}}vectorvectorint combinationSum2(vectorint candidates, int target) {sort(candidates.begin(),candidates.end());vectorbool used(candidates.size(),false);backtrating(candidates,target,0,0,used);return ans;} }; 这种方式效率低一点但是更好理解。
http://www.pierceye.com/news/40826/

相关文章:

  • 网站建设单位有哪些制作一个私人网站怎么申请域名
  • 一锅汤资源分享网站建设大全专做品牌网站
  • 网站建设建设哪家便宜电子工程王牌专业
  • 自建电商网站销售商品c++可视化界面设计
  • 做网站免费的app是什么wordpress 4.8正式版
  • 做网站一定要云解析吗网站流量很少
  • 菜谱网站后台代码网站地图制作方法
  • 百度可信网站vscode 网站开发
  • 赤城seo网站优化排名花西子品牌营销策略分析
  • 比特币简易网站开发邳州网站制作
  • 网站开发方式包括网站建设实战视频教程
  • 容易被收录的网站dedecms织梦和wordpress
  • 网站外链建设策略集群网站建设
  • 商务酒店网站建设给网站写教案做课件一节课多少钱
  • 织梦做淘宝客网站高密市网站建设
  • 高权重网站做js代码跳转设计网站页面要怎么切图
  • 四平网站制作制作钓鱼网站的费用
  • 网站建设全做任务反佣金的网站
  • 网站集群建设相关的招标品牌网站建设网站
  • 新乐市建设银行网站建设网站需要购买哪些
  • 淄博 网站设计中铁建设集团官网登录
  • 住房和城乡建设部网站倪虹修改wordpress自带小工具
  • 展厅设计公司网站淘宝联盟推广做网站违法
  • 用路由器做简单的网站哪有网站建设明细报价表
  • 佛山网站设计制作公司做服装网站需要什么
  • 广告门网站seo排名优化培训价格
  • 网站搭建北京做网站要注意什么
  • 六年级上册如何做网站湖北外贸网站建设费用
  • 网站建设推广方式怎么优化网站关键词排名
  • 如何做明星的个人网站闵行区最新消息