您的位置:首页 > 其它

3.Longest Substring Without Repeating Characters

2016-07-25 15:54 357 查看
for example:

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.

code:

time complexity o(2n)

think:

clear_thought is the key to clear_code

class Solution {
public:
int lengthOfLongestSubstring(string str) {

int result = 0;
int i = 0;
int j = 0;
int len = str.length();

set<char> s;
while(i<len && j < len){
if(s.count(str[j])==0){
s.insert(str[j]);
j++;
result = (j-i)>result?(j-i):result;
}else{
s.erase(str[i]);
i++;
}
}

return result;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: