最长无重复字符的子串 lintcode
2016-10-14 09:38
387 查看
给定一个字符串,请找出其中无重复字符的最长子字符串。
您在真实的面试中是否遇到过这个题?
Yes
样例
例如,在
对于,
挑战
O(n) 时间
您在真实的面试中是否遇到过这个题?
Yes
样例
例如,在
"abcabcbb"中,其无重复字符的最长子字符串是
"abc",其长度为
3。
对于,
"bbbbb",其无重复字符的最长子字符串为
"b",长度为
1。
挑战
O(n) 时间
<pre name="code" class="java">public class Solution { /** * @param s: a string * @return: an integer */ public int lengthOfLongestSubstring(String s) { // write your code here int res = 0; String resStr = ""; if(s == null || s.length() == 0)return res; if(s.length() == 1)return res+1; int len = s.length(); int[] tmp = new int[len]; Set<Character> set = new HashSet<>(); res = 1; for(int i = 1; i < len; i++){ if(!set.isEmpty())set.clear(); int tmpLen = 0; for(int j = i; ; j--){ if(j < 0){ res = Math.max(tmpLen, res); break; } if(!set.contains(s.charAt(j))){ set.add(s.charAt(j)); tmpLen++; }else{ res = Math.max(tmpLen, res); break; } } } return res; } }其他解法参考 http://blog.csdn.net/luxiaoxun/article/details/8036544
相关文章推荐
- LintCode-最长无重复字符的子串
- lintcode: 最长无重复字符的子串
- lintcode,最长无重复字符的子串
- [Lintcode] Longest Substring Without Repeating Characters 最长无重复字符的子串
- 最长无重复字符的子串-LintCode
- lintcode(384)最长无重复字符的子串
- lintcode-384-最长无重复字符的子串
- [LintCode 384] 最长无重复字符的子串(Python)
- LintCode 最长无重复字符的子串
- 求字符串中最长无重复字符的子串
- Longest Substring Without Repeating Characters (返回最长无字符重复的子串长度)
- 滑动窗口 最长不重复子串问题,set保存滑动窗口,set保存子串和查重,l指向子串左端,r指向要添加的字符,如果重,一直删除到字符的后一位
- LeetCode - 无重复字符的最长子串
- Leetcode 3. 无重复字符的最长子串
- 求字符串内不包含重复字符的最长子串
- 给定一个字符串,返回字符串中没有重复字符的最长子串的长度
- [Leetcode #3]Longest Substring Without Repeating Characters 无重复字符的最长子串
- Longest Substring Without Repeating Characters (最长无重复字符的子串)
- 最长无重复字符的子串
- [LeetCode]3. Longest Substring Without Repeating Characters寻找最长无重复字符的子串