leetcode-Longest Substring Without Repeating Characters
来源:互联网 发布:ip与mac绑定有好处吗 编辑:程序博客网 时间:2024/06/06 09:23
c++版本
class Solution {
public:
int lengthOfLongestSubstring(string s)
{
int left = 0, right = 0;
int exist[300] = {0};
int ans = 0;
int len = s.length();
for(;right < len; right++)
{
if(exist[s[right]])
{
for(int i = left; i < right; i++)
{
if(s[i] == s[right])
{
left = i+1;
break;
}
}
}
ans = max(ans,right - left + 1);
exist[s[right]] = 1;
}
return ans;
}
};
思路:
使用滑动窗口:
定义左右两端指针left、right;
定义标记某字符是否出现过的数组;
定义最长非重复子字符串长度为ans,初始为零;
两边指针均从第0位开始,先滑动右侧;
判断右侧指针指向的字符是否出现过;
若出现过,从left到right-1之间寻找出现过该字符的位置,假定该位置为i,则将left移到i+1;
当前的非重复子字符串长度为right-left+1;
将该长度与当前ans值作比较,保存最大值;
将当前right位置上的字符标记已出现过,继续移动right。
- 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
- Android_AlertDialog创建对话框
- Vue 2.0 的变化(二)之其他重大更改
- HTTP协议--断点续传
- html、htm、shtml、shtm
- 超链接的相对与绝对路径及锚点设置
- leetcode-Longest Substring Without Repeating Characters
- Laravel5.1 组件 Symfony/var-dumper2.7 在php7下的问题
- c++ 下的explicit关键字
- 神一样的CSDN博客排名规则
- Java Web 在JAVA中获取SEEION中的值的方式
- Unity接入android版的微信sdk记要
- 写时拷贝
- page、request、session、application区别
- Wormholes POJ