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

网站建设是管理费用的哪项费用合肥建设网站首页

网站建设是管理费用的哪项费用,合肥建设网站首页,深圳网站建设公司服务流程,飞速网站排名今天的练习基本就是回溯法组合问题,这一节只要看labuladong即可。 组合问题: 39. 组合总和---------------------形式三,元素无重可复选 链接:代码随想录 一次对,同样在进入下次循环时,注意startindex是从j…

 今天的练习基本就是回溯法组合问题,这一节只要看labuladong即可。

 组合问题:

39. 组合总和---------------------形式三,元素无重可复选

链接:代码随想录

 一次对,同样在进入下次循环时,注意startindex是从j开始,还是j+1开始

画图:

 代码:

class Solution {
public:
// 同一个数字可以无限制重复被选取 。如果至少一个数字的被选数量不同,则两种组合是不同的。 
vector<vector<int>>v;
vector<int>mv;vector<vector<int>> combinationSum(vector<int>& candidates, int target) {backtracing(candidates,target,0);return v;}void backtracing(vector<int> &candidates,int target,int startIndex){if(target<0){return;}else if(target==0){v.push_back(mv);}else{for(int j=startIndex;j<candidates.size();j++){mv.push_back(candidates[j]);backtracing(candidates,target-candidates[j],j);mv.pop_back();}}}
};

代码随想录版,基本一样

class Solution {
private:vector<vector<int>> result;vector<int> path;void backtracking(vector<int>& candidates, int target, int sum, int startIndex) {if (sum == target) {result.push_back(path);return;}// 如果 sum + candidates[i] > target 就终止遍历for (int i = startIndex; i < candidates.size() && sum + candidates[i] <= target; i++) {sum += candidates[i];path.push_back(candidates[i]);backtracking(candidates, target, sum, i);sum -= candidates[i];path.pop_back();}}
public:vector<vector<int>> combinationSum(vector<int>& candidates, int target) {result.clear();path.clear();sort(candidates.begin(), candidates.end()); // 需要排序backtracking(candidates, target, 0, 0);return result;}
};

40.组合总和II --------------形式二,元素可重,不可复选

链接:代码随想录

 

 代码,第一遍做错

class Solution {
public:vector<vector<int>>v;vector<int>mv;vector<vector<int>> combinationSum2(vector<int>& candidates, int target) {backtracing(candidates,target,0);return v;}void backtracing(vector<int>&candidates,int target,int startIndex){if(target<0){return;}else if(target==0){v.push_back(mv);}else{for(int j=startIndex;j<candidates.size();j++){mv.push_back(candidates[j]);backtracing(candidates,target-candidates[j],j+1);mv.pop_back();}}}
};

报错:

 125 215重复

看labuladong这一节,讲的非常非常清晰

 

 

 

 一开始写的j大于0,不对

class Solution {
public:
//当给出的数组中存在重复的元素时,要通过给定数组的排序对组合/排列问题 排序进行去重
vector<vector<int>>v;
vector<int>mv;vector<vector<int>> combinationSum2(vector<int>& candidates, int target) {sort(candidates.begin(),candidates.end());backtracing(candidates,target,0);return v;}void backtracing(vector<int> & candidates,int target,int startIndex){if(target<0){return;}else if(target==0){v.push_back(mv);}else{for(int j=startIndex;j<candidates.size();j++){// 要对同一树层使用过的元素进行跳过if(j>startIndex && candidates[j]==candidates[j-1])//zhijisuandiyige{continue;}mv.push_back(candidates[j]);backtracing(candidates,target-candidates[j],j+1);mv.pop_back();}}}
};

131.分割回文串 

链接:代码随想录

 我的思路是没有,直接看了代码随想录。

 也就是隔板法,比如string.size===16,则有15个空位,第一块隔板在15个空位上随便选一个,然后再放第二块隔板(第二块隔板在第一块隔板后),再放第三块隔板(第三块隔板在第二块隔板后)。

树的每一层,是检验放一块隔板、两块隔板。。。直到放到第15块隔板的情况。

逻辑比较复杂。因为下一层是上一层隔板的位置,总之看代码随想录,我自己的逻辑还是稍微模糊。

class Solution {
public:// 想起最长回文串那道题,不懂这里为什么要用回溯。//先写一个回文串的函数.//按照例子一,可以重复//貌似是数学里的隔板问题。则对于长度为16的string,最多可以放15个隔板。最少可以放1个隔板,且是在15个空位中任意放1个、两个。。。15个隔板vector<vector<string>>v;vector<string>mv;vector<vector<string>> partition(string s) {backtracing(s,0);return v;  }void backtracing(string &s,int startIndex){if(startIndex==s.size()){v.push_back(mv);return;}else{for(int j=startIndex;j<s.size();j++){if(is_huiwen(s,startIndex,j)){mv.push_back(s.substr(startIndex,j-startIndex+1));backtracing(s,j+1);//这里写错了,应该是从下一个位置开始找mv.pop_back();}}}}bool is_huiwen(string &s,int l,int r){while(l<=r && s[l]==s[r]){l++;r--;}if(l>r){return true;}return false;}
};

http://www.hyszgw.com/news/53395/

相关文章:

  • 哔哩哔哩黄页网站电脑课做网站的作业
  • 君和网站建设网站建设的中期报告
  • 给娃娃做衣服卖的网站ui和网页设计
  • 宁波怎么建网站模板站做电影下载网站好
  • 内外网网站栏目建设方案投资理财网站建设规划书
  • 重庆网站建设外包郴州在湖南什么位置
  • 单页网站欣赏wordpress加产品展示
  • 网站建设注意哪些注意事项aso优化吧
  • 郑州网站设计多少钱六安网站建设公司
  • 建设小说网站的系统有哪些wordpress有app吗
  • 湖南吧济南seo整站外包
  • 定制网站建设创意六安网站建设找哪家
  • 江都网站建设抽奖网站开发
  • 找别人做网站要注意什么德清做网站
  • 做网站推广我们是专业的域名的网站建设方案书怎么写
  • 营销型网站建设jm3q怎么用 做网站
  • 北京网站关键词排名李可做的网站
  • 装饰设计图片网站建设优化seo
  • 不要网站域名怎么做有趣的短视频网站
  • 网站营销方案建立网站需要怎么做
  • 全国八大员报名官方网站wordpress 双分页
  • 专业的建站公司都具备什么条件it运维外包费用标准
  • 长沙网站建设kaodezhu产品设计网站制作
  • 企业网站开发知名品牌有哪些在国外做盗版网站吗
  • 济南网站假设推广有限责任公司破产法人承担的责任
  • 做网站怎么这么贵做网页流程
  • 网站默认数据库地址公司做个网站
  • 先进的网站开发技术企业网站设计调查问卷
  • 网站制作详细教程微商城网站建设推广
  • 建设网站网美容院网站建设