题目描述
blablabla
样例
class Solution {
public:
int longestSubstringWithoutDuplication(string s) {
unordered_map<char,int> m;
int sum=0;
for(int i=0,j=0;i<s.size();i++){
//核心是统计长度为1的个数之和
//当j个数为2且前面还有多个值为1的时候,要先把1的char清0
// 例如 abcdc,要把ab先清0,再把c置为1
if(++m[s[i]]>1){
while(m[s[j]]==1) --m[s[j++]];
--m[s[j++]]; //此处的j在第一次进入循环的时候,j为0,且m[s[j]]==2;
}
sum =max(sum,i-j+1);
}
return sum;
}
};
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度分析:blablabla
C++ 代码
blablabla
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度分析:blablabla
C++ 代码
blablabla