您的位置:首页 > 其它

LeetCode3. Longest Substring Without Repeating Characters

2016-12-30 11:06 211 查看
题目链接

输出最长不重复子串的长度。

一开始觉得是dp,转移方程写了半天没写出来。。看了下tag是双指针,用i和j维护不重复的子串端点。

class Solution {
public:
int lengthOfLongestSubstring(string s) {
int len = s.length();
int a[300];
memset(a, 0, sizeof(a));
int j = 0, ans = 0;

for(int i = 0; i < len; i++){
if(!a[s[i]-' ']){
a[s[i]-' '] = 1;
}else{
ans = max(ans, (i-j));
while(s[j] != s[i]){
a[s[j]-' '] = 0;
j++;
}
j++;
}
}
ans = max(ans, (len-j));
return ans;
}
};


坑爹的是居然不都是字母,还有其他符号,所以一开始减’a’就WA了。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: