题目链接:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/
题目如下:
class Solution {
public:
int lengthOfLongestSubstring(string s) {
int result=0;
unordered_map<char,int> hs;
for(int i=0,j=0;i<s.size();i++){
hs[s[i]]++;
//hash[s[i]]>1说明现在从s[j]到s[i]有重复元素,并且s[i]在此区间一定出现了两次
//因此需要移动j,使得新的j->i之间没有重复元素
while(hs[s[i]]>=2){
hs[s[j]]--;
j++;
}
//每次循环到现在为止,j到i之间不包含重复字符
result=max(result,i-j+1);
}
return result;
}
};