[LeetCode] 3. Longest Substring Without Repeating Characters(medium)

原题链接

求最长不连续子序列

思路:
利用map存储每一个字符上一次出现的位置,
遍历string,
比较 当前位置与上一次出现该字母的位置之差记录的最大值 的大小
修改最大值。

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;
  }
};
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容