原題鏈接
求最長不連續(xù)子序列
思路:
利用map存儲(chǔ)每一個(gè)字符上一次出現(xiàn)的位置,
遍歷string狡相,
比較 當(dāng)前位置與上一次出現(xiàn)該字母的位置之差 和 記錄的最大值 的大小
修改最大值。
class Solution
{
public:
map<char, int> maps;
int lengthOfLongestSubstring(string s)
{
int i, Max = 0, pre = -1;
for (i = 0; i < s.length(); i++)
maps[s[i]] = -1;
for (i = 0; i < s.length(); i++)
{
pre = max(pre, maps[s[i]]);
Max = max(Max, i - pre);
maps[s[i]] = i;
}
return Max;
}
};