无重复字符的最长子串—leetcode3
生活随笔
收集整理的這篇文章主要介紹了
无重复字符的最长子串—leetcode3
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
給定一個字符串,請你找出其中不含有重復字符的?最長子串?的長度。
示例?1:
輸入: s = "abcabcbb" 輸出: 3 解釋: 因為無重復字符的最長子串是 "abc",所以其長度為 3。示例 2:
輸入: s = "bbbbb" 輸出: 1 解釋: 因為無重復字符的最長子串是 "b",所以其長度為 1。示例 3:
輸入: s = "pwwkew" 輸出: 3 解釋: 因為無重復字符的最長子串是?"wke",所以其長度為 3。請注意,你的答案必須是 子串 的長度,"pwke"?是一個子序列,不是子串。示例 4:
輸入: s = "" 輸出: 0提示:
- 0 <= s.length <= 5 * 104
- s?由英文字母、數字、符號和空格組成
?
?
class Solution { public:int lengthOfLongestSubstring(string s) {map<char,int> se;int n = s.length();int maxlen = 0;int index = 0;for(int i=0;i<n;++i){if(se.find(s[i])!=se.end() && se[s[i]]>=index){index = se[s[i]]+1;}maxlen = max(maxlen,i-index+1);se[s[i]] = i;}return maxlen;} };?
總結
以上是生活随笔為你收集整理的无重复字符的最长子串—leetcode3的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 旋转数组—leetcode189
- 下一篇: 二叉树的锯齿形层次遍历—leetcode