题目:
给定一个字符串s,找出其中不含有重复字符的最长子串的长度。
#include <iostream>
#include<bits/stdc++.h>
using namespace std;
class Solution {
public:
int lengthOfLongestSubstring(string s) {
int size = s.size();
unordered_set<char> mySet;
int right = 0,ans = 0;
for(int i = 0;i < size;i++){
if(i != 0){
mySet.erase(s[i - 1]);
}
while(right < size && !mySet.count(s[right])){
mySet.insert(s[right]);
right++;
}
ans = max(ans,right - i);
}
return ans;
}
};
int main() {
//输入
string s;
cin>>s;
int size = s.size();
unordered_set<char> mySet;
int right = 0,ans = 0;
for(int i = 0;i < size;i++){
if(i != 0){
mySet.erase(s[i - 1]);
}
while(right < size && !mySet.count(s[right])){
mySet.insert(s[right]);
right++;
}
ans = max(ans,right - i);
}
cout<<ans;
return 0;
}