第五周 leetcode 3. Longest Substring Without Repeating Characters(Medium)
来源:互联网 发布:营销活动效果数据分析 编辑:程序博客网 时间:2024/06/05 00:44
题目描述:
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.
解题思路:
该题要求字符串中最长的无重复子串的长度。
遍历字符串:
1.若当前字符在子串中没有出现过, 将该字符标记为出现过flag=1,记录当前最长无重复子串长度;
2.若出现过,则清除子串中该字符以及之前字符的标记flag=0,然后记录删减重复字符后子串的长度;
3.若遍历完毕后,仍未发现重复字符,则记录此时长度;
最后,在记录的无重复子串长度中找出最大值。
代码:
class Solution {public: int lengthOfLongestSubstring(string s) { if (s.size() == 0) return 0; bool flag[256] = {false}; // 记录当前无重复串中字符出现情况 vector<int> length; // 记录所有不重复串的长度 int len = 0; for (int i = 0; i < s.size(); ) { // 遍历字符串 if (!flag[s[i]]) { len++; flag[s[i]] = true; i++; } else { while (s[length.size()] != s[i]) { flag[s[length.size()]] = false; // length.push_back(len); len--; } length.push_back(len); i++; } } length.push_back(len); // 记录一直到结束都无重复的子串长度 for (int i = 0; i <length.size(); i++) { // 找出最大值 if (length[i] > len) len = length[i]; } return len; }};
代码运行结果:
阅读全文
0 0
- 第五周 leetcode 3. Longest Substring Without Repeating Characters(Medium)
- Leetcode 3. Longest Substring Without Repeating Characters (Medium) (cpp)
- 【leetcode】3. Longest Substring Without Repeating Characters 【medium】
- LeetCode 3. Longest Substring Without Repeating Characters [Medium]
- Leetcode解题笔记 3.Longest Substring Without Repeating Characters [Medium]
- LeetCode-3-Longest Substring Without Repeating Characters(穷举)-Medium
- 3. Longest Substring Without Repeating Characters (Medium)
- 3. Longest Substring Without Repeating Characters Medium
- Longest Substring Without Repeating Characters(medium)
- 【LeetCode】(3)Longest Substring Without Repeating Characters(Medium)
- <LeetCode><Medium> 3 Longest Substring Without Repeating Characters
- LeetCode第三关:Longest Substring Without Repeating Characters --> Difficulty: Medium
- week3-leetcode #3-Longest Substring Without Repeating Characters[Medium]
- [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
- MySQL存储过程详解
- 关于《编程之美》中买书问题动态规划Java简单实现
- 计算机视觉领军企业
- tomcat内存配置及配置参数详解
- OCM考试实验-Skillset1----Network configuration
- 第五周 leetcode 3. Longest Substring Without Repeating Characters(Medium)
- 使用RTL-SDR和Matlab Simulink玩转软件无线电(十七)
- TensorFlow搭建RNN(1/7) 简单案例
- docker的安装与使用安装ssh服务
- VSCode下便捷编译运行C++代码——Code Runner配置及说明
- angularjs ui-select 如果select的内容为空 则禁止点击
- @JsonIgnore注解的使用
- Java把date类型转换成long
- tensorflow学习:建立一个最简单的神经网络