Leetcode #3. Longest Substring Without Repeating Characters
来源:互联网 发布:网狐棋牌源码 编辑:程序博客网 时间:2024/06/08 06:44
题意:对于给定的字符串,返回其最大不重复字串的长度。如对于abcabcbb返回3。
题型:辅助变量;哈希表。
解法:定义一个包含所有ascii字符数量的数组m[128],初始化为0;
定义三个变量count、pre和max,初始化为0;其中count代表包括当前元素的最小不重字串;pre指当前元素上一次出现的位置;max代表当前元素为止出现的最大不重字串的大小。
遍历字符串,只要没有出现重复的元素,count就加1,同时将当前元素对应的数组位置更新为当前位置;如果出现重复元素,则:更新max、count和pre。然后再次对count加1,更新当前元素的数组值。
最后返回值时要注意返回的是max和count中的较大者,因为可能出现max未更新就遍历完的情况:当整个string元素不重复时。
代码:
int lengthOfLongestSubstring(string s) { int m[128] = {0}; int count = 0, pre = 0, max = 0; int cur; for (int i = 0; cur = s[i]; i++) { if (pre < m[cur]) { max = (max < count) ? count : max; count = i-m[cur]; pre = m[cur]; } count++; m[cur] = i+1; } return max > count ? max : count;}
阅读全文
0 0
- [LeetCode]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
- [leetcode] 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
- 【Leetcode】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
- LeetCode - 3.Longest Substring Without Repeating Characters
- Leetcode 3. Longest Substring Without Repeating Characters
- 3. Longest Substring Without Repeating Characters LeetCode
- (Leetcode)3. Longest Substring Without Repeating Characters
- leetcode 3. Longest Substring Without Repeating Characters
- LeetCode-3. Longest Substring Without Repeating Characters
- 常见的HTTP相应状态码
- 什么是协方差矩阵?
- JAVA在win10环境下配置环境变量
- Java经典面试题(其一)——Java异常和克隆
- js页面加载触发事件
- Leetcode #3. Longest Substring Without Repeating Characters
- 【opencv学习之九】opencv3.2配置opencv_contrib方法
- python中的正则表达式(re模块)
- .NET Core多平台开发体验[4]- Docker
- Activity退出后,键盘不收回
- Java经典面试题(其二)——Java线程同步方式和线程本地变量
- 自定义TextView实现图文混排及自定义省略符号
- 设计模式学习笔记-适配器模式
- PPT放映常用快捷键