最简单的网站建设如何远程登录网站服务器
web/
2025/10/1 0:17:15/
文章来源:
最简单的网站建设,如何远程登录网站服务器,十里堡网站建设,php学生管理系统源码免费Leetcode 93. 复原 IP 地址
题目链接 93 复原 IP 地址
本题目也是分割的典型题目#xff0c;属于分割回文子串的升级版#xff0c;大概的思路都是一样的#xff0c;注意几点#xff0c;第一个是对ip地址正确与否的条件#xff0c;第二个插入逗点后#xff0c;下一个子串…Leetcode 93. 复原 IP 地址
题目链接 93 复原 IP 地址
本题目也是分割的典型题目属于分割回文子串的升级版大概的思路都是一样的注意几点第一个是对ip地址正确与否的条件第二个插入逗点后下一个子串的起始位置为i2第三就是对于分割区间开闭的不变性和区间范围的取值[startIndex,i]最后就是这里不仅要对单个区间段进行ip地址的判断当pointNum3时要对整体ip地址进行判断下面上代码
class Solution {private:vectorstring result;void backtracking(strings,int startIndex,int pointNum){if(pointNum 3){if(isValid(s,startIndex,s.size()-1)){//整体判断左闭右闭result.push_back(s);}return ;}for(int istartIndex;is.size();i){//左闭右闭if(isValid(s,startIndex,i)){s.insert(s.begin()i1,.);pointNum;backtracking(s,i2,pointNum);//插入逗点之后下一个子串的起始位置为i2pointNum--;//回溯s.erase(s.begin()i1);//删除逗点}else{break;}}}bool isValid(const string s,int start,int end){if(startend){//区间不存在return false;}if(s[start] 0start!end){//头数字不能为0return false;}int num 0;for(int istart;iend;i){if(s[i]9||s[i]0){//不能有符号return false;}num num*10(s[i]-0);//不能大于255if(num255){return false;}}return true;}
public:vectorstring restoreIpAddresses(string s) {if(s.size()4||s.size()12){//小小剪枝一下啊return result;}backtracking(s,0,0);return result;}
};
Leetcode 78. 子集
题目链接 78 子集
本题目和组合几乎是一样的只有一点不同就是组合取得是叶子节点而子集是取的全部节点剩下的都一样下面上代码
class Solution {private:vectorint path;vectorvectorint result;void backtracking (vectorint nums,int startIndex){result.push_back(path);//和组合唯一的区别就是把全部的节点都收集if(startIndex nums.size()){return ;}for(int istartIndex;inums.size();i){path.push_back(nums[i]);backtracking(nums,i1);path.pop_back();}}
public:vectorvectorint subsets(vectorint nums) {backtracking(nums,0);return result;}
};
Leetcode 90. 子集 II
题目链接 90 子集 II
本题目就是子集1加上组合总和2的去重问题不多说直接上代码
class Solution {private:vectorint path;vectorvectorint result;vectorint used;void backtracking (vectorint nums,int startIndex,vectorbool used){result.push_back(path);if(startIndexnums.size()){return ;}for(int istartIndex;inums.size();i){if(i0nums[i]nums[i-1]used[i-1]false){continue;}path.push_back(nums[i]);used[i] true;backtracking(nums,i1,used);used[i] false;path.pop_back();}}public:vectorvectorint subsetsWithDup(vectorint nums) {vectorbool used(nums.size(), false);//初始化sort(nums.begin(),nums.end());backtracking(nums,0,used);return result;}
};
要学习六级了好痛苦 end
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/84735.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!