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 number = 0;
int max = 0;
bool com = false;
char* store = new char[100];
int i = 0;
int index = i;
while (i < s.size()) {
for (int j = 0; j < number; j++) {
if (store[j] == s[i]) {
com = true;
break;
}
}
if (com == true) {
delete [] store;
store = new char[100];
if (number > max)
max = number;
number = 0;
com = false;
i = index + 1;
index = i;
}
else {
store[number] = s[i];
number += 1;
if (i == s.size() - 1) {
if (number > max)
max = number;
}
i = i + 1;
}
}
return max;
}
};
本文详细解析了寻找字符串中最长无重复字符子串的算法实现,通过具体示例展示了算法的工作流程,如输入abcabcbb,输出长度为3的子串abc。文章探讨了如何有效检测重复字符并更新最大子串长度,适用于字符串处理及算法学习。

448

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



