滑动窗口C++
【摘要】 来自这个视频 思想 模板 209. 长度最小的子数组class Solution {public: int minSubArrayLen(int target, vector<int> nums) { int left,right=0; int curSum=0; int minLen=0; while(right<nums.si...
来自这个视频
思想
模板
209. 长度最小的子数组
class Solution {
public:
int minSubArrayLen(int target, vector<int> nums) {
int left,right=0;
int curSum=0;
int minLen=0;
while(right<nums.size()){
curSum+=nums.at(right);
while(curSum>=target){
if(right-left+1<minLen || minLen==0){
minLen=right-left+1;
}
curSum-=nums.at(left);
left++;
}
right++;
}
return minLen;
}
};
3. 无重复字符的最长子串
class Solution {
public:
int lengthOfLongestSubstring(string s) {
int left,right=0;
int maxLen=0;
unordered_map<char,int> umap;
while(right<s.length()){
umap[s[right]]++;
while(umap[s[right]]!=1){
umap[s[left]]--;
left++;
}
maxLen=max(maxLen,right-left+1);
right++;
}
return maxLen;
}
};
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)