无重复字符的最长子串
给定一个字符串 s ,请你找出其中不含有重复字符的 最长
子串的长度。
unordered_set
- 不再以键值对的形式存储数据,而是直接存储数据的值 ;
- 容器内部存储的各个元素的值都互不相等,且不能被修改;
- 不会对内部存储的数据进行排序
函数
find()——查找指定值,找到返回迭代器,没找到返回end()
count()——出现次数
insert()——插入元素
erase()——删除元素
class Solution {
public:
int lengthOfLongestSubstring(string s) {
if(s.size()==0) return 0;
unordered_set<char> match;
int maxsize=0;
int left = 0;
for(int i=0;i<s.size();i++){
match.clear();
int j=i;
while(match.count(s[j])==0&&j<s.size()){
match.insert(s[j]);
j++;
}
if(maxsize<match.size())
maxsize=match.size();
// maxsize = max(maxsize, match.size());
}
return maxsize;
}
};