网页设计师联盟网站怎么网络怎样做推广
思路
其实就是考虑每一个字母为右端点的时候的最长子串,只不过可以使用双指针或者说滑动窗口节省到 O ( n ) O(n) O(n)的复杂度。
不懂的可以在评论区问我
代码
class Solution {
public:int lengthOfLongestSubstring(string s) {int ans = 0;int left = 0; int right = 0;int len_s = s.size();unordered_set<char> vis;for(; right<len_s; right++) //每次计算以right为右端点的最长子串{while(vis.count(s[right])==1){vis.erase(s[left]); left++;}vis.insert(s[right]);ans = max(right-left+1, ans);}return ans;}
};