[LeetCode] Longest Substring Without Repeating Characters
来源:互联网 发布:python简明中文教程 编辑:程序博客网 时间:2024/06/03 19:38
题目:
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.
思路:
LeetCode中map真的很有用!!!!!灵活掌握map的使用方法对于很多问题都会很快的有思路。这道题也可以采用map的方法,以字母作为键,其所在位置为值。没有出现重复字母时,长度逐一增加,当出现重复字母时,找到重复字母上一次出现的位置,并以其下一个位置作为起点,计算长度,另外起点只能不断靠后,而不能向前(这是显而易见的),因此需要有一个max来限定起始位置pos的赋值。另外有一点需要注意的是,当给重复字母重新赋值时,insert()不起作用,因此采取直接赋值的方法(hash_map[s[i]-'a'] = i+1)。
代码:
class Solution {public: int lengthOfLongestSubstring(string s) { map<int,int> hash_map; int pos=0,len=0; for(int i=0;i<s.length();i++) { if(hash_map.count(s[i]-'a')) { pos = max(hash_map[s[i]-'a'],pos); hash_map[s[i]-'a'] = i+1; } len = max(len,i-pos+1); hash_map.insert(pair<int,int> (s[i]-'a',i+1)); } return len; }};
0 0
- LeetCode: Longest Substring Without Repeating Characters
- LeetCode Longest Substring Without Repeating Characters
- LeetCode: Longest Substring Without Repeating Characters
- [Leetcode] Longest Substring Without Repeating Characters
- leetcode 23: Longest Substring Without Repeating Characters
- [LeetCode] Longest Substring Without Repeating Characters
- LeetCode 3 - Longest Substring Without Repeating Characters
- [LeetCode]Longest Substring Without Repeating Characters
- leetcode Longest Substring Without Repeating Characters
- 【leetcode】 Longest Substring Without Repeating Characters
- LeetCode-Longest Substring Without Repeating Characters
- [LeetCode] Longest Substring Without Repeating Characters
- [LeetCode] Longest Substring Without Repeating Characters
- [leetcode] Longest Substring Without Repeating Characters
- LeetCode - Longest Substring Without Repeating Characters
- LeetCode 3: Longest Substring Without Repeating Characters
- leetcode-3:Longest Substring Without Repeating Characters
- leetcode之Longest Substring Without Repeating Characters
- HttpResponse、DefaultHttpClient等类无法使用问题
- idea-java-opencv
- 《大话数据结构》
- apache 开启https协议
- HDU 1896 Stones 优先队列
- [LeetCode] Longest Substring Without Repeating Characters
- 《大话数据结构》
- 基于ARM的某型无人机飞控计算机设计
- 决策树(一)
- java.util.Date
- centos6.5启动nginx报错
- 入门 | 初学者必读:解读14个深度学习关键词
- 在72MHZ下点亮LED
- vim 编辑器