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

公司网站如何在百度上能搜索到沃尔玛超市

公司网站如何在百度上能搜索到,沃尔玛超市,设计制作生态瓶,移动互联网营销公司第一题: 原题链接:39. 组合总和 - 力扣(LeetCode) 思路: 终止条件: 用一个sum值来记录当前组合中元素的总和。当sum的值大于target的时候证明该组合不合适,直接return。当sum的值等于target的…

第一题:
原题链接:39. 组合总和 - 力扣(LeetCode)

思路:

终止条件:

用一个sum值来记录当前组合中元素的总和。当sum的值大于target的时候证明该组合不合适,直接return。当sum的值等于target的时候将组合添加到组合集合中。

for循环中注意本题中的元素是可以重复选取的,因此下层递归中的startIndex还是i。

剩下的就是回溯的模板。

代码如下:

class Solution {
public:vector<vector<int>> combinationSum(vector<int>& candidates, int target) {if(candidates.size() == 0) return {};backtracking(candidates, target, 0, 0);return res;}
private:vector<vector<int>> res;vector<int> path;void backtracking(vector<int>& candidates, int target, int sum, int startIndex){if(sum > target){return;}if(sum == target){res.push_back(path);return;}for(int i = startIndex; i < candidates.size(); i++){path.push_back(candidates[i]);sum += candidates[i];backtracking(candidates, target, sum, i);sum -= candidates[i];path.pop_back();}}
};

第二题:

原题链接:40. 组合总和 II - 力扣(LeetCode)

思路:

本题要注意的是去重的逻辑。

首先我们对数组进行排序,让相同的元素紧挨着。方便我们进行去重的逻辑。

Carl提到了树层和树枝去重的概念,这个概念很便于理解。本题要注意的就是树层去重的逻辑。树枝上不需要去重,因为树枝上的元素对应的是不同的元素。而树层上的元素必须要去重,因为在树枝上前一个相同的元素的遍历会包含当前元素的所有遍历结果,因此如果在同一层中当前的元素和前一个元素相同并且前一个元素没有被使用过的情况下,该元素直接跳过。

同时我们需要一个bool类型的数组来记得什么元素已经使用过了。当我们使用过的话将该数组对应的位置置为true;

代码如下:

class Solution {
public:vector<vector<int>> combinationSum2(vector<int>& candidates, int target) {sort(candidates.begin(), candidates.end());vector<bool> used(candidates.size(), false);backtracking(candidates, target, 0, 0, used);return res;}
private:vector<vector<int>> res;vector<int> path;void backtracking(vector<int>& candidates, int target, int sum, int startIndex, vector<bool>& used){if(sum > target)return;if(sum == target){res.push_back(path);return;}for(int i = startIndex; i < candidates.size(); i++){if(i > 0 && candidates[i] == candidates[i - 1] && used[i - 1] == false){continue;}path.push_back(candidates[i]);used[i] = true;sum += candidates[i];backtracking(candidates, target, sum, i + 1, used);used[i] = false;sum -= candidates[i];path.pop_back(); }}
};

第三题:

原题链接:131. 分割回文串 - 力扣(LeetCode)

思路:

需要一根指针来指向当前分割的位置。

for循环是用来看在以startIndex为分割线,以i为结束的子串是否为回文串。

在递归的逻辑中是将startIndex的位置向后移动一位。

代码如下:

class Solution {
public:vector<vector<string>> partition(string s) {backtracking(s, 0);return res;}
private:vector<vector<string>> res;vector<string> path;void backtracking(string s, int startIndex){if(startIndex == s.size()){res.push_back(path);return;}for(int i = startIndex; i < s.size(); i++){if(!isHuiwen(s, startIndex, i)) continue;string st = s.substr(startIndex, i - startIndex + 1);path.push_back(st);backtracking(s, i + 1);path.pop_back();}}bool isHuiwen(const string& s, int start, int end){while(start < end){if(s[start] == s[end]){start++;end--;}else{return false;}}return true;}
};

http://www.yayakq.cn/news/977709/

相关文章:

  • 东莞市国外网站建设哪家好旅游网站论文摘要
  • 个人商城网站怎么做合肥市城乡城乡建设局网站
  • 如何建立自己的博客网站虚拟机怎么做网站
  • 企业网站设计代码网站 html
  • 摄影网站设计说明书网站建设全攻略
  • 网站开发的实验报告网站点击推广
  • wordpress分类目录是哪个文件谷歌外贸网站seo怎么做
  • 网站服务器用什么好处wordpress改手机布局
  • 室内设计公司取名字深圳优化公司踏高粱seo
  • discuz蓝色城市门户论坛网站模板大连集团网站建设
  • 网站怎么静态化做网站为什么要做备案接入
  • 建站流程网站上线校园引流推广方法
  • 昆明网站seo报价画册欣赏网站
  • 怎么更改网站域名上海网站建设公司指南
  • wordpress大主题公园石家庄百度seo代理
  • 网站编辑工具网站如何换服务器
  • 一个新网站要怎么做seo三乡网站建设
  • 霸州 网络 网站建设网站怎么设置百度收录
  • 河南电力建设工程公司网站建设网站工作内容
  • 酷站是什么网站开淘宝店铺的详细步骤
  • 网站集约化建设的建议wordpress iis部署
  • 网站建设一定要买数据盘吗做视频网站广告收费
  • 外贸快车智能建站安阳营销型网站建设
  • 中医院网站模板新能源电动汽车哪个牌子的质量好
  • 机械网站模板快速搭建网站模板
  • 广州微网站建设信息青岛网景互联网站建设公司
  • 班级建设网站设计方案贵州建筑网站
  • 建设网站目的及功能定位是什么安徽国华建设工程项目管理有限公司网站
  • 公司网站公司简介宣传夸大受处罚简易东莞网站制作公司
  • 网站建设报价单如何建立一个网站支持chrome