Given a string, find the length of the longest substring without repeating characters. For example, the longest substring without repeating letters for "abcabcbb" is "abc", which the length is 3. For "bbbbb" the longest substring is "b", with the length of 1.
class Solution {
public:
int lengthOfLongestSubstring(string s) {
int res = 0;
const int n = s.size();
if (n == 0) {
return res;
}
int record[256];
fill_n(&record[0], 256, -1);
int start = 0;
for (int i = 0; i < n; i++) {
if (record[s[i] - ' '] >= start) {
res = max(res, i - start);
start = record[s[i] - ' '] + 1;
}
record[s[i]-' '] = i;
}
return max(n-start, res);
}
};
本文介绍了一种算法,用于找到给定字符串中最长的无重复字符子串。通过使用哈希表来记录字符位置,该算法有效地解决了这一问题,并提供了具体的实现代码。
712

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



