标签:提示 ash solution sts 输入 刷题 字符串 ges 维护
面试题48.最长不含重复字符的子字符
题目描述:
请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。
示例1:
输入: "abcabcbb"
输出: 3
解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。
提示:
先上代码:
class Solution {
public:
int lengthOfLongestSubstring(string s) {
unordered_map<char,int> hash;
int ans = 0;
for(int i = 0, j = 0; i < s.size(); i++)
{
hash[s[i]]++;
while(hash[s[i]] > 1)
{
hash[s[j]] --;
j++;
}
ans = max(ans,i - j + 1);
}
return ans;
}
};
题解思路:
双指针 i, j
来试探不重复的区间,hash
维护保证不重复。
标签:提示 ash solution sts 输入 刷题 字符串 ges 维护
原文地址:https://www.cnblogs.com/Lysz1996/p/12493355.html