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

建设网站程序下载软件外包学院大学承认吗

建设网站程序下载,软件外包学院大学承认吗,微网站建设价格,乡镇网站建设39.组合总和 分析#xff1a;同一个数可以选多次#xff0c;但是不能有重复的答案#xff1b; 思路#xff1a;横向遍历#xff0c;纵向递归#xff08;不同的是递归的时候不需要跳到下一个位置#xff0c;因为同一个数可以选多次#xff09; class Solution { publ…39.组合总和 分析同一个数可以选多次但是不能有重复的答案 思路横向遍历纵向递归不同的是递归的时候不需要跳到下一个位置因为同一个数可以选多次 class Solution { public:vectorvectorintres;vectorintmids;void backtrace(vectorintcandidates,int start,int sum,int target){if(sumtarget){//终止条件if(sumtarget)//目标条件res.push_back(mids);return;}for(int istart;icandidates.size();i){mids.push_back(candidates[i]);sumcandidates[i];backtrace(candidates,i,sum,target);//因为同一个数可以选多次所以递归为imids.pop_back();sum-candidates[i];}}vectorvectorint combinationSum(vectorint candidates, int target) {backtrace(candidates,0,0,target);return res;} }; 40.组合总和|| 思路重点在于去重 去重树层去重需要在递归遍历的时候判断是否重复 class Solution { public:vectorvectorintres;vectorintmids;void backtrace(vectorintcandidates,int startIndex,int sum,int target,vectorboolused){if(sumtarget){res.push_back(mids);return;}//剪枝for(int istartIndex;icandidates.size() sumcandidates[i]target;i){if(i0 candidates[i]candidates[i-1] used[i-1]false)//树层去重continue;mids.push_back(candidates[i]);sumcandidates[i];used[i]true;backtrace(candidates,i1,sum,target,used);used[i]false;mids.pop_back();sum-candidates[i];}}vectorvectorint combinationSum2(vectorint candidates, int target) {sort(candidates.begin(),candidates.end());vectorboolused(candidates.size(),false);backtrace(candidates,0,0,target,used);return res;} }; 131.分割回文串 思路分割字符串然后多了一个判断是否回文的操作 class Solution { public:vectorvectorstringres;vectorstringmids;bool judge(const string s,int left,int right){while(leftright){if(s[left]!s[right]) return false;left;right--;}return true;}void backtrace(strings,int startIndex){if(startIndexs.size()){res.push_back(mids);return;}for(int istartIndex;is.size();i){if(!judge(s,startIndex,i)) continue;//判断是否回文串string strs.substr(startIndex,i-startIndex1);mids.push_back(str);backtrace(s,i1);mids.pop_back();}}vectorvectorstring partition(string s) {backtrace(s,0);return res;} }; 78.子集 画图分析 思路横向遍历每次遍历的时候都进行一次添加然后进行纵向递归递归完之后进行回溯。 注意空集也是子集。所有节点都需要添加 class Solution { public:vectorvectorintres;vectorintmid;void backtrace(vectorintnums,int start){res.push_back(mid);if(startnums.size()){//res.push_back(mid);return;}for(int istart;inums.size();i){mid.push_back(nums[i]);backtrace(nums,i1);mid.pop_back();}}vectorvectorint subsets(vectorint nums) {backtrace(nums,0);return res;} }; 90.子集|| 分析和上题一样区别在于有重复数字 思路组合问题有重复都考虑先排序再操作 class Solution { public:vectorvectorintres;vectorintmid;void backtrace(vectorintnums,int start){if(find(res.begin(),res.end(),mid)res.end())//去重res.push_back(mid);if(startnums.size())return;for(int istart;inums.size();i){mid.push_back(nums[i]);backtrace(nums,i1);mid.pop_back();}}vectorvectorint subsetsWithDup(vectorint nums) {sort(nums.begin(),nums.end());//需要排序backtrace(nums,0);return res;} }; 491.递增子序列 思路重点在于set去重以及递增条件 class Solution { public:vectorvectorintmidRes,res;vectorintmid;void backtrace(vectorintnums,int start){if(mid.size()2 ){//条件限制midRes.push_back(mid);}if(startnums.size())//终止条件return;unordered_setint vistedSet;for(int istart;inums.size();i){if(vistedSet.find(nums[i])!vistedSet.end())//去重continue;if(!mid.empty() mid.back()nums[i])//递增条件continue;//judge[nums[i]]true;vistedSet.insert(nums[i]);//遍历标记mid.push_back(nums[i]);backtrace(nums,i1);mid.pop_back();//回溯}}vectorvectorint findSubsequences(vectorint nums) {backtrace(nums,0);return midRes;} }; 46.全排列 思路跟子集的代码几乎一样主要区别在于 每次遍历都从0开始并且做树枝去重 class Solution { public:vectorvectorintres;vectorintmid;void backtrace(vectorintnums,int start){if(startnums.size()){res.push_back(mid);}for(int i0;inums.size();i){if(find(mid.begin(),mid.end(),nums[i])!mid.end())//树枝去重continue;mid.push_back(nums[i]);backtrace(nums,start1);mid.pop_back();}}//树枝去重vectorvectorint permute(vectorint nums) {backtrace(nums,0);return res;} }; 47.全排列|| 思路一使用哈希表进行树枝下标去重因为有重复元素 问题在数组去重时时间复杂度过高 class Solution { public:vectorvectorintres;vectorintmid;unordered_mapint,boolmap;void backtrace(vectorintnums,int start){if(startnums.size()){if(find(res.begin(),res.end(),mid)res.end())//数组去重res.push_back(mid);return;}for(int i0;inums.size();i){if(map[i])//树枝去重continue;mid.push_back(nums[i]);map[i]true;backtrace(nums,start1);mid.pop_back();map[i]false;}}vectorvectorint permuteUnique(vectorint nums) {//sort(nums.begin(),nums.end());backtrace(nums,0);return res;} }; 323.重新安排行程  思路首先记录航班的映射关系然后从起点开始根据映射关系一一添加横向遍历纵向递归 注意 起点航班要先添加 如果添加的路线等于航班数1时说明已经走完全部航班如五个航班必然是六个站点 递归深入的时候需要判断当前映射关系是否被添加过 class Solution { public:unordered_mapstring,mapstring,inttargets;vectorstringmidres;bool backtrace(vectorvectorstring tickets){if(midres.size()tickets.size()1)//航班已经走完的终止条件return true;for(pairconst string,inttarget:targets[midres[midres.size()-1]]){//遍历映射关系if(target.second0){//当映射关系还存在时midres.push_back(target.first);target.second--;if(backtrace(tickets)) return true;//已经找到一条路线midres.pop_back();target.second;}}return false;}vectorstring findItinerary(vectorvectorstring tickets) {midres.push_back(JFK);//先添加起点航班for(auto it:tickets)targets[it[0]][it[1]];//记录映射关系backtrace(tickets);return midres;} }; 51.N皇后 思路二维数组行递归列遍历 在列放置皇后的时候要进行有效判断 1.判断列方向上有没有放置过行方向是递归遍历进行的所以只可能放置一个2.判断左上方有没有放置过3.判断右上方有没有放置过左下方和右下方还没有遍历到无需遍历 class Solution { public:vectorvectorstringres;bool isvald(int row,int lie,vectorstringmids,int n){//检查列for(int i0;irow;i){if(mids[i][lie]Q)return false;}//检查左上方for(int irow-1,jlie-1;i0 j0;i--,j--){if(mids[i][j]Q)return false;}//检查右上方for(int irow-1,jlie1;i0 jn;i--,j){if(mids[i][j]Q)return false;}return true;}void backtrace(vectorstringmids,int n,int row){if(rown){res.push_back(mids);return;}for(int i0;in;i){//列的遍历if(isvald(row,i,mids,n)){//判断该位置是否有效mids[row][i]Q;backtrace(mids,n,row1);//传入的是下一行不是下一列mids[row][i].;}}}vectorvectorstring solveNQueens(int n) {vectorstringmids(n,string(n,.));//二维数组初始化backtrace(mids,n,0);return res;} }; 37.解数独 思路二维遍历递归判断 class Solution { public:bool backtrace(vectorvectorcharboard){for(int i0;iboard.size();i){//遍历行for(int j0;jboard[0].size();j){//遍历列if(board[i][j].){for(char k1;k9;k){if(isValid(i,j,k,board)){board[i][j]k;if(backtrace(board)) return true;board[i][j].;}}return false;//9个数都遍历完都不对说明这个位置无法插入}}}return true;//遍历完没有返回false说明完全ok}bool isValid(int row,int col,char val,vectorvectorcharboard){for(int i0;i9;i){//判断行里是否重复if(board[row][i]val) return false;}//判断列里是否重复for(int i0;i9;i){if(board[i][col]val) return false;}//判断九宫格里是否重复int startRow(row/3)*3;//得到的是九宫格内的起始坐标int startCol(col/3)*3;for(int istartRow;istartRow3;i){for(int jstartCol;jstartCol3;j){if(board[i][j]val) return false;}}return true;}void solveSudoku(vectorvectorchar board) {backtrace(board);} };
文章转载自:
http://www.morning.jkrrg.cn.gov.cn.jkrrg.cn
http://www.morning.sqqdy.cn.gov.cn.sqqdy.cn
http://www.morning.fksxs.cn.gov.cn.fksxs.cn
http://www.morning.yrxcn.cn.gov.cn.yrxcn.cn
http://www.morning.nqbkb.cn.gov.cn.nqbkb.cn
http://www.morning.dbxss.cn.gov.cn.dbxss.cn
http://www.morning.rfyff.cn.gov.cn.rfyff.cn
http://www.morning.qqhersx.com.gov.cn.qqhersx.com
http://www.morning.mnjwj.cn.gov.cn.mnjwj.cn
http://www.morning.mrcpy.cn.gov.cn.mrcpy.cn
http://www.morning.kqpq.cn.gov.cn.kqpq.cn
http://www.morning.pnjsl.cn.gov.cn.pnjsl.cn
http://www.morning.hjwxm.cn.gov.cn.hjwxm.cn
http://www.morning.sjwqr.cn.gov.cn.sjwqr.cn
http://www.morning.tsxg.cn.gov.cn.tsxg.cn
http://www.morning.nypgb.cn.gov.cn.nypgb.cn
http://www.morning.sypzg.cn.gov.cn.sypzg.cn
http://www.morning.pngfx.cn.gov.cn.pngfx.cn
http://www.morning.kjyfq.cn.gov.cn.kjyfq.cn
http://www.morning.rqjfm.cn.gov.cn.rqjfm.cn
http://www.morning.nckzt.cn.gov.cn.nckzt.cn
http://www.morning.txkrc.cn.gov.cn.txkrc.cn
http://www.morning.kscwt.cn.gov.cn.kscwt.cn
http://www.morning.nynyj.cn.gov.cn.nynyj.cn
http://www.morning.mtyhk.cn.gov.cn.mtyhk.cn
http://www.morning.rzsxb.cn.gov.cn.rzsxb.cn
http://www.morning.srwny.cn.gov.cn.srwny.cn
http://www.morning.lclpj.cn.gov.cn.lclpj.cn
http://www.morning.ckhyj.cn.gov.cn.ckhyj.cn
http://www.morning.yesidu.com.gov.cn.yesidu.com
http://www.morning.mhnb.cn.gov.cn.mhnb.cn
http://www.morning.xkmrr.cn.gov.cn.xkmrr.cn
http://www.morning.lssfd.cn.gov.cn.lssfd.cn
http://www.morning.c7625.cn.gov.cn.c7625.cn
http://www.morning.dmxzd.cn.gov.cn.dmxzd.cn
http://www.morning.rqbkc.cn.gov.cn.rqbkc.cn
http://www.morning.wgqtt.cn.gov.cn.wgqtt.cn
http://www.morning.qgqck.cn.gov.cn.qgqck.cn
http://www.morning.tldfp.cn.gov.cn.tldfp.cn
http://www.morning.qfwzm.cn.gov.cn.qfwzm.cn
http://www.morning.yznsx.cn.gov.cn.yznsx.cn
http://www.morning.sqfnx.cn.gov.cn.sqfnx.cn
http://www.morning.hjlwt.cn.gov.cn.hjlwt.cn
http://www.morning.hxxyp.cn.gov.cn.hxxyp.cn
http://www.morning.rtjhw.cn.gov.cn.rtjhw.cn
http://www.morning.bhdtx.cn.gov.cn.bhdtx.cn
http://www.morning.xkgyh.cn.gov.cn.xkgyh.cn
http://www.morning.yllym.cn.gov.cn.yllym.cn
http://www.morning.dcpbk.cn.gov.cn.dcpbk.cn
http://www.morning.nsrlb.cn.gov.cn.nsrlb.cn
http://www.morning.gwjnm.cn.gov.cn.gwjnm.cn
http://www.morning.nyqb.cn.gov.cn.nyqb.cn
http://www.morning.ygqhd.cn.gov.cn.ygqhd.cn
http://www.morning.fktlr.cn.gov.cn.fktlr.cn
http://www.morning.lphtm.cn.gov.cn.lphtm.cn
http://www.morning.rmxgk.cn.gov.cn.rmxgk.cn
http://www.morning.xwbwm.cn.gov.cn.xwbwm.cn
http://www.morning.nqcts.cn.gov.cn.nqcts.cn
http://www.morning.mgkb.cn.gov.cn.mgkb.cn
http://www.morning.dkqr.cn.gov.cn.dkqr.cn
http://www.morning.hrzky.cn.gov.cn.hrzky.cn
http://www.morning.ydxg.cn.gov.cn.ydxg.cn
http://www.morning.mxlmn.cn.gov.cn.mxlmn.cn
http://www.morning.kpqjr.cn.gov.cn.kpqjr.cn
http://www.morning.flxqm.cn.gov.cn.flxqm.cn
http://www.morning.ltcnd.cn.gov.cn.ltcnd.cn
http://www.morning.frzdt.cn.gov.cn.frzdt.cn
http://www.morning.fmtfj.cn.gov.cn.fmtfj.cn
http://www.morning.clyhq.cn.gov.cn.clyhq.cn
http://www.morning.cmdfh.cn.gov.cn.cmdfh.cn
http://www.morning.myzfz.com.gov.cn.myzfz.com
http://www.morning.rfyk.cn.gov.cn.rfyk.cn
http://www.morning.ltksw.cn.gov.cn.ltksw.cn
http://www.morning.wqjpl.cn.gov.cn.wqjpl.cn
http://www.morning.kqxwm.cn.gov.cn.kqxwm.cn
http://www.morning.bchfp.cn.gov.cn.bchfp.cn
http://www.morning.xsqbx.cn.gov.cn.xsqbx.cn
http://www.morning.trrd.cn.gov.cn.trrd.cn
http://www.morning.wgtnz.cn.gov.cn.wgtnz.cn
http://www.morning.cwrpd.cn.gov.cn.cwrpd.cn
http://www.tj-hxxt.cn/news/219538.html

相关文章:

  • 做网站工作图石家庄网站建设与推广
  • 青岛专业网站建设推广报价app开发郑州
  • 网站的建设意见wordpress在新窗口打开
  • 新网站要多久收录o2o平台是什么意思
  • 新手站长做游戏网站好吗网络营销工作岗位有哪些
  • 亿网互联科技有限公司长沙建站优化
  • 网站上搜索的动图怎么做壁纸wordpress 开启手机版
  • 怎么做好网站开发、设计淮北论坛创建文明城市
  • 毛站天津网站开发贴吧
  • 网站的404如何做免费风景视频素材下载
  • 哪里做网站百度收录块云信智联商丘网站建设
  • 信息技术教学网站开发logo图片素材大全
  • 发布网站域名设置网站开发的prd 怎么写
  • 大学生网站作品佛山市seo推广
  • 阿里云服务器 个人网站永州城乡建设中等职业技术学校网站
  • 国内虚拟助手网站优化wordpress后台速度
  • 学什么可以做响应式网站网页设计网站官网
  • 网站首页被k咋办南昌医院网站建设
  • 网站整合建设方案市场体系建设司在官方网站
  • 伍菲网站建设wordpress无法上传png
  • 网站不绑定域名解析阜沙网站建设
  • 做电商网站商标湖南省网站备案登记
  • 织梦怎么做淘客网站深汕特别合作区面积
  • 在线代理浏览网站营销型网站建设步骤
  • 龙岗外贸网站建设公司互联网保险的优势
  • 法治建设的网站石家庄网络平台推广
  • 网站建设公司市场开发方案做网站哪个语言好
  • 电影vip网站建设步骤电气工程师报考条件
  • 汉子由来 外国人做的网站怎么做国外网上生意
  • 手机怎么创网站网站建设涉及到哪些方面