从一个字符串中找出一个最长的不包含重复字符的子字符串,输出该最长子字符串的长度。
class Solution
{
public:
int lengthOfLongestSubstring(string s)
{
int n=s.size();
if(n<2) return n;
int left=0;
int right=0;
int ans=0;
unordered_map<char,int> mp;
while(left<n && right<n)
{
if(right<n && mp[s[right]==0)
{
mp[s[right]]++;
right++;
}
else
{
mp[s[left]]--;
left++;
}
ans=max(ans,right-left);
}
return ans;
}
};
本文介绍了一种高效算法,用于解决从给定字符串中找出最长的不包含重复字符子字符串的问题。通过使用滑动窗口和哈希表,算法能够在O(n)的时间复杂度内找到目标子串的长度。
1027

被折叠的 条评论
为什么被折叠?



