LC 3. Longest Substring Without Repeating Characters

Posted kykai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LC 3. Longest Substring Without Repeating Characters相关的知识,希望对你有一定的参考价值。

题目描述

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

 

Example 1:

Input: "abcabcbb"
Output: 3 
Explanation: The answer is "abc", with the length of 3. 

Example 2:

Input: "bbbbb"
Output: 1
Explanation: The answer is "b", with the length of 1.

Example 3:

Input: "pwwkew"
Output: 3
Explanation: 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 
 5         unordered_map<char,int> map;
 6         int res = 0;
 7         int start = -1; // 存储开始的位置,如果完全没有重复的字符,那么开始位置永远是-1
 8         
 9         for(int i = 0;i<s.length();i++)
10             if(map.find(s[i]) != map.end()) 
11                 start = max(start,map[s[i]]); 
12                 // 如果通过find 找到了一个重复的
13                 // 那么就把start给替换成 上一个重复字符的index
14             
15             map[s[i]] = i; // map[char] = index;
16             res = max(res,i-start); // 获得最大值
17         
18         return res;
19     
20 ;    

 

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

Example 1:

Input: "abcabcbb"
Output: 3 
Explanation: The answer is "abc", with the length of 3. 

Example 2:

Input: "bbbbb"
Output: 1
Explanation: The answer is "b", with the length of 1.

Example 3:

Input: "pwwkew"
Output: 3
Explanation: 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.

以上是关于LC 3. Longest Substring Without Repeating Characters的主要内容,如果未能解决你的问题,请参考以下文章

ICS计算系统概论实验3—LC3汇编代码实现最长重复子字符串Longest-duplicate-substring

[LC] 159. Longest Substring with At Most Two Distinct Characters

LC1044. Longest Duplicate Substring最长重复子串:二分答案 + 滚动哈希

Longest Substring Without Repeating Characters

[Algo] 253. Longest Substring Without Repeating Characters

SPOJ 1811 Longest Common Substring