[leetcode] longest substring without repeating characters
来源:互联网 发布:织梦源码安装方法 编辑:程序博客网 时间:2024/05/19 17:27
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.
思路:遍历字符串,当遇到重复的字符时,要更新无重复子串的左边界,比如abcabcbb, 遍历abca时都没有问题,这是也不断得更新最大无重复子串的长度,当比例到s[4]时,遇到了重复的b,由于不能有重复的b,前开始的ab都不能在新的子串里,所以把left左边界更新至s[2],and so forth。
public class Solution { public int lengthOfLongestSubstring(String s) { HashSet<Character> set = new HashSet<Character>(); int max = 0; int left = 0; for(int i = 0; i < s.length(); i++){ if(set.contains(s.charAt(i))){ while(left < i && s.charAt(left) != s.charAt(i)){ set.remove(s.charAt(left)); left++; } left++; }else{ set.add(s.charAt(i)); max = Math.max(max, i - left + 1); } } 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
- 备忘 windows 8.1 开发
- GitHub使用流程- Git Shell 的一些命令总结(二) 创建代码库并学会更新
- Binary Tree Postorder Traversal
- ObjectC语言基础4—ARC、成员变量、构造方法、property
- 获取来访IP和来访地址
- [leetcode] longest substring without repeating characters
- Webstorm & PhpStorm的序列号和证书
- 秉临戤戗眷聛戤傊驺讅櫽二礯惷彛
- 鼾斫惥麤嗰驗氐驢毵涑觱聭列增在明季
- 前锋培训java网址
- 2015年2月28
- 【C#】7. Bond类型(付息日定价)
- sublime text 3 设置php编辑环境
- 分布式日志收集收集系统:Flume(转)