您的位置:首页 > 其它

leetcode 3. Longest Substring Without Repeating Characters

2017-03-22 19:24 417 查看
Given a string, find the length of the longest substring without repeating characters.

Examples:

Given “abcabcbb”, the answer is “abc” , which the length is 3.

Given “bbbbb” , the answer is “b” , with the length of 1.

Given “pwwkew” , 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.

Subscribe to see which companies asked this question.

解法一:更新初始位置,用当前位置减去初始位置。每个字母都要放进map中。

class Solution {
public:
int lengthOfLongestSubstring(string s) {
map<char,int> hashmap;
int begin=0;
int maxnum=0;
for(int i=0,j=0;i<s.size();i++){
if(hashmap.find(s[i])!=hashmap.end()){
j=max(j,hashmap[s[i]]+1);
}
hashmap[s[i]]=i;
maxnum=max(i-j+1,maxnum);
}
return maxnum;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode string substring