参考自
https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/solution/hua-dong-chuang-kou-by-powcai/
题目描述:
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。
解题思路:
运用滑动窗口的思想,从字符串第一个位置开始遍历,当出现重复字符时,移除最左边的字符。直至没有重复的字符时停止。
class Solution {
public:
int lengthOfLongestSubstring(string s) {
if(s.size()==0) return 0;
int maxStr=0;
int left=0;
unordered_set<char>lookup;
for(int i=0;i<s.size();i++)
{
while(lookup.find(s[i])!=lookup.end())
{
lookup.erase(s[left]);
left++;
}
lookup.insert(s[i]);
maxStr=max(maxStr,i-left+1);
}
return maxStr;
}
};
涉及的知识点:
set容器
set容器头文件
#include <set>
添加元素
第一种方法直接添加
set.insert();
第二种利用vector容器,插入标记范围内的所有元素
vector<int>ivec;
set.insert(ivec.begin(),ivec.end());
查找元素
set.count(); set.find();

被折叠的 条评论
为什么被折叠?



