[leetcoed]3. Longest Substring Without Repeating Characters
来源:互联网 发布:linux ftp命令怎么用 编辑:程序博客网 时间:2024/05/21 06:45
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.
Subscribe to see which companies asked this question
分析:用双指针指示子串,和一个map结构存储字符出现的次数,寻找最大的无重复子串长度。大体是这么个思想,但是速度上的区别还是很大的,一开始写了个O(n2)的代码,被一个超级变态长的字符串超时了,看了标准答案的O(n)解法觉得自己真是太蠢了,如果直接跳到下一个字符接着搜索的话,子串依然有重复,应该从第一个和end指针不相同的地方开始,这样算法的复杂度会是O(n)。
代码:
class Solution {public: int lengthOfLongestSubstring(string s) { int n=s.size(); if(n<=1) return n; int p=0; int q=0; int ret=0; int m[256]={0}; while(q<n){ if(m[s[q]]==1){ ret=max(ret,q-p); while(s[p]!=s[q]){ m[s[p]]=0; p++; } p++; q++; } else{ m[s[q]]=1; q++; } } ret=max(ret,n-p); return ret; }};
0 0
- [leetcoed]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
- 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
- 创建一个Object()对象
- 线性同余法取随机数
- tcp的简单应用
- 104. Maximum Depth of Binary Tree
- 多线程 -- 初学简单例子
- [leetcoed]3. Longest Substring Without Repeating Characters
- ios 自动布局
- 解析XML
- awk 实例练习(二)
- Poj 1067 取石子游戏
- strcpy函数的实现
- MYSQL数据库的索引、视图、触发器、游标和存储过程
- oracle创建表空间 10g导出数据库到 11g以及11g导入文件
- nginx+tomcat的ssl认证问题汇总