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

建设部安全事故通报网站百度关键词优化软件网站

建设部安全事故通报网站,百度关键词优化软件网站,什么网站可以做会计题目,香港公司建网站77.组合 思路一:回溯相当于枚举,所以我们遍历1-n的每一个数字,然后在遍历第i位的同时递归出第i1~n位的组合结果,跟树的形式相似。 如上图所示,当长度为k时,即退出递归可对遍历到第i位以及剩下位数与k进行比…

77.组合

思路一:回溯相当于枚举,所以我们遍历1-n的每一个数字,然后在遍历第i位的同时递归出第i+1~n位的组合结果,跟树的形式相似。

  •  如上图所示,当长度为k时,即退出递归
  • 可对遍历到第i位以及剩下位数与k进行比较进行一个剪枝(比如遍历到4时,4后面没有数字,不能组成个数为2的组合)
class Solution {
public:vector<vector<int>>res;void judge(int n,int index,int k,vector<int>&mid){if(mid.size()==k){res.push_back(mid);return;}for(int i=index;i<=n-(k-mid.size())+1;i++){mid.push_back(i);judge(n,i+1,k,mid);mid.pop_back(); //回溯,不回溯的话无法继续往下}}vector<vector<int>> combine(int n, int k) {//思路:遍历1-n为index,然后传入进行第k-index-1的组合,使用中间vector保存,当vector的size==k时加入resvector<int>mid;judge(n,1,k,mid);return res;}
};

216.组合总和III

分析:和上一题如出一辙,只是多加了一个判断总和,不过数字固定到1-9
class Solution {
public:vector<vector<int>>res;vector<int>mid;void backtrace(int k,int n,int sum,int startIndex){if(sum>n || mid.size()>k)return;if(sum==n && mid.size()==k){res.push_back(mid);return;}for(int i=startIndex;i<=9-(k-mid.size())+1;i++){sum+=i;mid.push_back(i);backtrace(k,n,sum,i+1);mid.pop_back();sum-=i;}}vector<vector<int>> combinationSum3(int k, int n) {//思路:和77题如出一辙backtrace(k,n,0,1);return res;}
};

17.电话号码的字母总和

画图分析:

 思路一:首先横向递归,对每一个位置的字符串数组进行递归遍历
            其次在递归遍历之前,对该位置的字符串数组进行遍历添加
            在递归遍历数组结束之后,需要回溯删除本数组添加的字符,以便于回溯到上一数组
class Solution {
public:vector<string>dists={"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};vector<string>res;void backtrace(string digits,int start,string&mid){if(start==digits.size()){//递归遍历终点res.push_back(mid);return;}for(int i=0;i<dists[digits[start]-'0'].size();i++){//纵向遍历char midC=dists[digits[start]-'0'][i];mid.push_back(midC);backtrace(digits,start+1,mid);//横向递归遍历mid.pop_back();//回溯}}vector<string> letterCombinations(string digits) {if(digits.size()==0) return res;//极端情况string mid;backtrace(digits,0,mid);return res;}
};

131.分割回文串

思路:先使用for循环横向遍历,从每一个点截取,并且判断当前截取的字符串 i 是否为回文串
           1.当属于回文串时,把当前字符串加入数组,并且递归往下,从下一个字符开始再次使用for循环横向遍历,判断是否是回文字符
           2.当不属于回文串时,直接返回
 注意终止条件:当在递归过程中开始截取的位置startIndex大于等于原字符串的长度时,表示已经递归到了尽头

class Solution {
public:vector<vector<string>> res;vector<string>mid;bool judgeP(const string& s,int start,int end){int left=start,right=end;while(left<right){if(s[left++]!=s[right--])return false;}return true;}void backtrace(string s,int startIndex){if(startIndex>=s.size()){res.push_back(mid);return;}for(int i=startIndex;i<s.size();i++){if(judgeP(s,startIndex,i)){//判断当前区间内的字符是否回文串string str=s.substr(startIndex,i-startIndex+1);mid.push_back(str);}else//不是回文,跳过continue;backtrace(s,i+1);//寻找i=1为起始位置的子串mid.pop_back();//回溯}}vector<vector<string>> partition(string s) {//首先需要一个函数判断出来的字符是否回文串//思路:递归从0开始分割判断backtrace(s,0);return res;}
};

http://www.hengruixuexiao.com/news/16341.html

相关文章:

  • 连云港最新疫情最新消息实时情况网站优化排名易下拉排名
  • seo如何优化网站推广百度怎么注册公司网站
  • 山东网站建设公司哪家专业有创意的营销案例
  • 怎么做公司网站seo鼓楼网站seo搜索引擎优化
  • 建设网站 系统占用空间googleplay商店
  • 怎么看网站空间在线识别图片来源
  • 金融行业网站建设营销策划公司介绍
  • 手机打不开网页是怎么回事网站seo方案撰写
  • wordpress自动生成网站地图新手怎么学做电商
  • 代做毕业设计网站多少钱搜索引擎优化效果
  • 企业网站建设规划 论文外贸网站推广怎么做
  • 北京的网站建设精准拓客软件哪个好
  • c bs 网站开发代码海底捞口碑营销案例
  • 电子商务网站开发教程课后习题成品短视频软件大全下载手机版
  • 个人网站如何赚钱app推广30元一单平台
  • 青岛外贸网站运营哪家好推广途径有哪些
  • 蒙古文网站建设的通知常见的网络营销策略都有哪些
  • 内蒙古建设工程质监站网站建站开发
  • 大连手机自适应网站建设电话百度里面的站长工具怎么取消
  • 北京学设计去哪个网站沈阳网站推广优化
  • 济南想建设网站阿里云域名注册入口官网
  • 武夷山市住房和城乡建设局网站电商运营公司
  • 蓝科企业网站系统个人免费开发网站
  • 外贸网站建设哪里好如何做自己的网站
  • 福州seo网站推广国内免费推广产品的网站
  • 莘县住房建设局 委 网站营销软文100字
  • 阿里巴巴上做网站北京优化推广公司
  • 肇庆网站搜索排名seo引擎优化怎么做
  • 网站建设军成北京seo平台
  • 网站电子地图怎么做seo是什么意思知乎