Leetcode 3. Longest Substring Without Repeating Characters
Posted KRisen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode 3. Longest Substring Without Repeating Characters相关的知识,希望对你有一定的参考价值。
Problem reference: https://leetcode.com/problems/longest-substring-without-repeating-characters
// My solution: // A simple dp, the key point is that the substring is serialy. // Traverse every node and regard it as the end point, // then we can figure out the state transition equation: /* if (there was no duplicated letter before) answer[now] = answer[now-1] + 1; else answer[now] = min(distance between the duplicated letters, answer[now-1] + 1) */ class Solution { public: int lengthOfLongestSubstring(string s) { if (s.size() <= 1) return s.size(); // Store the last position for a letter. std::map<char,int> last_char; std::map<char,int>::iterator it; // Store the optimum answer for every node. std::vector<int> rec; int ans = 0; for (int i=0;i<s.size();i++) { // Initialize value as result for current node. rec.push_back(1); it = last_char.find(s[i]); // Special handling of the initial character. if (i == 0) { last_char[s[i]] = i; continue; } if (it == last_char.end()) { rec[i] = rec[i-1] + 1; } else { rec[i]=min((i-(it->second)), rec[i-1] + 1); } last_char[s[i]] = i; ans = max(ans, rec[i]); } return ans; } };
以上是关于Leetcode 3. Longest Substring Without Repeating Characters的主要内容,如果未能解决你的问题,请参考以下文章
Leetcode 3. Longest Substring Without Repeating Characters
LeetCode 3. Longest Substring Without Repeating
3. 没有重复字母的最长子串 [leetcode 3: Longest Substring Without Repeating Characters]
3. 没有重复字母的最长子串 [leetcode 3: Longest Substring Without Repeating Characters]
leetcode longest consecutive sequence
leetcode 3. Longest Substring Without Repeating Characters (Python版)