3. Longest Substring Without Repeating Characters
来源:互联网 发布:访问通用顶级域名 编辑:程序博客网 时间:2024/06/13 17:10
Description:
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.
题目大意:给定一个字符串,从中寻找出不包含重复字符的连续的最长字符串的长度。
题目思路:在这里可以设置两个指针,分别指向头部和最长的字符串的尾部,尾部指针先从头部开始移动,遇到相同的字符时就停止移动,记录此时字符串的长度;随后头部的指针也开始移动,找到重复的字符,以保证下次移动时从重复的字符下一个开始。经过一轮的循环后就可以得到最长的字符串的长度了。
class Solution {private: bool a[256];public: int lengthOfLongestSubstring(string s) { memset(a,true,sizeof(a)); int count=0; int ans=0; int start=0; for(int i=0;i<s.size();i++){ if(a[s[i]]){ a[s[i]]=false; count++; } else{ ans=max(ans,count); while(true){ a[s[start]]=true; count--; if(s[start]==s[i]) break; start++; } start++; a[s[i]]=false; count++; } } ans=max(ans,count); return ans; }};
另外我也在考虑可不可以像LeetCode上面的第一题那样建立一个hash表来解决这个问题呢?我考虑了一下发现貌似和指针的这种方法本质上还是没有啥区别的。也不知道自己考虑的到底是对的还是错的,有待细细研究一下。
0 0
- [LeetCode]3.Longest Substring Without Repeating Characters
- LeetCode 3.Longest Substring Without Repeating Characters
- LeetCode --- 3. Longest Substring Without Repeating Characters
- 3.Longest Substring Without Repeating Characters
- [Leetcode] 3. Longest Substring Without Repeating Characters
- 3.Longest Substring Without Repeating Characters
- 3. Longest Substring Without Repeating Characters
- 3.Longest Substring Without Repeating Characters
- 3.Longest Substring Without Repeating Characters
- 3.Longest Substring Without Repeating Characters
- 3. Longest Substring Without Repeating Characters
- [leetcode] 3.Longest Substring Without Repeating Characters
- 3.Longest Substring Without Repeating Characters
- [leetcode] 3. Longest Substring Without Repeating Characters
- 3. Longest Substring Without Repeating Characters
- [Leetcode]3. Longest Substring Without Repeating Characters
- leetcode 3. Longest Substring Without Repeating Characters
- 【Leetcode】3. Longest Substring Without Repeating Characters
- 725A Jumping Ball
- 【人生如逆旅,我亦是行人】-半年总结
- web开发中会发跟踪方法
- HDU 6015 bestcoder #92 Skip the Class
- 尚硅谷java学习笔记——14.网络编程
- 3. Longest Substring Without Repeating Characters
- 5. Longest Palindromic Substring
- Java多线程实现的三种方法
- java__有一个奇怪的国家,里面的国民对于事情的态度永远只有两面。当两个人遇到一起讨论一个事情的时候——两个持赞同观点的人遇到一起后会对这个事情都继续赞同;一个持赞同观点的人遇到一个持不赞同观点的人
- 大学毕业第八个月
- 决策树总结
- Web开发后端:JDK+Tomcat+Myeclipse安装问题(一)
- gpl协议
- 深入理解java虚拟机---虚拟机类加载机制