0
点赞
收藏
分享

微信扫一扫

手撕代码——最长不包含重复字符的字符串长度

读思意行 2022-10-26 阅读 63


3. Longest Substring Without Repeating Characters

Medium

6059348FavoriteShare

Given a string, find the length of the longest substring without repeating characters.

Example 1:


Input: "abcabcbb" Output: 3 Explanation: The answer is ​​"abc"​​, with the length of 3.


Example 2:


Input: "bbbbb" Output: 1 Explanation: The answer is ​​"b"​​, with the length of 1.


Example 3:


Input: "pwwkew" Output: 3 Explanation: The answer is ​​"wke"​​, with the length of 3. Note that the answer must be a substring, ​​"pwke"​​ is a subsequence and not a substring.


class Solution {
public:
int lengthOfLongestSubstring(string s) {
int Result = 0;int RepeatedIndex = -1;
if(s.length() == 0){return Result;}
map<char,int> MapArray;
for(int i = 0;i < s.length();i ++){
if(MapArray.find(s[i]) != MapArray.end() && MapArray[s[i]] > RepeatedIndex){
RepeatedIndex = MapArray[s[i]];
}
if((i - RepeatedIndex) > Result){
Result = i - RepeatedIndex;
}
MapArray[s[i]] = i;
}
return Result;
}
};

 

举报

相关推荐

0 条评论