LeetCode Longest Substring Without Repeating Characters
来源:互联网 发布:js中的eval方法 编辑:程序博客网 时间:2024/06/14 05:33
题目
Given a string, find the length of the longest substring without repeating characters. For example, the longest substring without repeating letters for "abcabcbb" is "abc", which the length is 3. For "bbbbb" the longest substring is "b", with the length of 1.
记录暂时的最大长度、扫描中的子串中各个字符的序号、子串的头、子串的尾。
子串尾从头开始向后扫一次:
1、如果字符未在子串中出现过,考虑目前子串长度是否超过暂时的最大
2、如果出现过,将子串头到上次出现该字符之间的字符都标记为未出现,子串头变为上次出现位置之后的那个位置
代码
class Solution {public: int lengthOfLongestSubstring(string s) {long pos[128];//记录相应字符的位置,-1表示不再扫描的子串上for(int i=0;i<128;i++)pos[i]=-1;long max=0;//最大长度long first=0,last=0;//扫描中的子串的头、尾while(last<s.size()){if(pos[s[last]]==-1){pos[s[last]]=last;last++;if(last-first>max)max=last-first;}else{while(first<=pos[s[last]])pos[s[first++]]=-1;pos[s[last]]=last;last++;}}return max; }};
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
- 个人心得:load view与exec view
- Spring的意义:以一个具体场景说明spring IOC的意义
- POJ_3468_Interval Tree 更新区间经典
- 做一个智能车牌如何?
- struts2文件上传
- LeetCode Longest Substring Without Repeating Characters
- CSS实现背景透明,文字不透明(各浏览器兼容)
- C语言简单程序
- 基于hadoop0.20.2mapreducer的实例
- 使用通配符定义Action
- char *s 与char s[]的区别
- C++智能指针浅析
- 多线程 《多线程操作同一变量》
- 十、从头到尾彻底理解傅里叶变换算法、上