leetcode3. Longest Substring Without Repeating Characters
来源:互联网 发布:mac os 10.11 dmg下载 编辑:程序博客网 时间:2024/06/07 17:51
leetcode3. Longest Substring Without Repeating Characters
思路
- 用一个数组保存当前迭代过程内的子串中每个字符出现的位置charPos,用hash的方式,并初始化-1(初始化的值不能是任何可能的位置值,如0);
- 定义一个游标指针,扫描字符串s,如果当前的字符在本次子串中没有重现(charPos[s[curPos]]<-1),更新该子串长度、该子串所有字符出现的位置数组和当前的游标,如果当前的字符在本次子串中重现了(charPos[s[curPos]]>-1),那么,更新最大子串长度,重置位置记录数组charPos和子串长度,并更新游标;
- 循环2,知道游标遍历了数组;
- 考虑最后一个子串的情况(游标已经遍历数组,但是因为没有遇到重现的情况,导致最后一个字符长度和当前最长长度没有进行对比),最后返回;
class Solution {public: int lengthOfLongestSubstring(string s) { int charPos[130] = { 0 }; memset(charPos, -1, 130 * sizeof(int)); int size = s.size(); int curPos = 0; int curLen = 0; int maxLen = 0; while (curPos < size) { if (charPos[s[curPos]] <= -1) { curLen++; charPos[s[curPos]] = curPos; curPos++; } else { maxLen = curLen > maxLen ? curLen : maxLen; curLen = 0; curPos = charPos[s[curPos]] + 1; memset(charPos, -1, 130* sizeof(int)); } } maxLen = curLen > maxLen ? curLen : maxLen; return maxLen; }};
阅读全文
0 0
- LeetCode3:Longest Substring Without Repeating Characters
- [LeetCode3] Longest Substring Without Repeating Characters
- Longest Substring Without Repeating Characters leetcode3
- LeetCode3 Longest Substring Without Repeating Characters
- LeetCode3:Longest Substring Without Repeating Characters
- leetcode3 longest Substring Without Repeating Characters
- LeetCode3:Longest Substring Without Repeating Characters
- Leetcode3 Longest Substring Without Repeating Characters
- leetcode3--Longest Substring Without Repeating Characters
- leetcode3. Longest Substring Without Repeating Characters
- LeetCode3:Longest Substring Without Repeating Characters
- Leetcode3:Longest Substring Without Repeating Characters
- [leetcode3] Longest Substring Without Repeating Characters
- Leetcode3 : Longest Substring Without Repeating Characters
- LeetCode3. Longest Substring Without Repeating Characters
- LeetCode3. Longest Substring Without Repeating Characters
- leetcode3. Longest Substring Without Repeating Characters
- LeetCode3. Longest Substring Without Repeating Characters
- JS-Jquery 常用功能
- [并查集] UOJ#61. UR#5 怎样更有力气
- Densenet(Algorithm+Code)
- Java并发编程:volatile关键字解析
- 考试分数统计指标
- leetcode3. Longest Substring Without Repeating Characters
- 多任务学习“Facial Landmark Detection by Deep Multi-task Learning”
- redis数据结构HyperLogLog
- esayui-datagrid列表在后台新增统计行
- java 自定义注解 校验参数是否为空
- kettle sqlserver mysql ETL性能调优
- 二手房买卖中卖方欲解除合同的诉讼策略选择
- Windows 下搭建 PHP 开发环境
- MyBatis中映射文件的记录