当前位置: 移动技术网 > IT编程>开发语言>C/C++ > LeetCode - 3.Longest Substring Without Repeating Characters(388ms)

LeetCode - 3.Longest Substring Without Repeating Characters(388ms)

2018年07月28日  | 移动技术网IT编程  | 我要评论

榆次消费你我他,英文dj歌曲,双面女友下载

Given a string, find the length of the longest substring without repeating characters.

Examples:

Given "abcabcbb", the answer is "abc", which the length is 3.

Given "bbbbb", the answer is "b", with the length of 1.

Given "pwwkew", 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.

 1 class Solution {
 2 public:
 3     int lengthOfLongestSubstring(string s) {
 4         int l = s.length();
 5         map<char, int> m;
 6         int innerL = 0;
 7         int maxL = 0;
 8         for(int i=0; i<l; i++) {
 9             map<char, int>::iterator it = m.find(s[i]);
10             if(it != m.end()) {
11                 if(maxL < innerL) {
12                     maxL = innerL;
13                 }
14                 i = i - innerL + it->second - 1;
15                 innerL = 0;
16                 m.erase(m.begin(), m.end());
17             }
18             else {
19                 innerL += 1;
20                 m[s[i]] = innerL;
21             }
22         }
23         return (innerL < maxL) ? maxL : innerL;
24     }
25 };

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网