最长无重复字符的子串 lintcode
来源:互联网 发布:libcurl c语言 编辑:程序博客网 时间:2024/05/10 05:12
给定一个字符串,请找出其中无重复字符的最长子字符串。
样例
例如,在"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
0 0
- LintCode-最长无重复字符的子串
- LintCode-最长无重复字符的子串
- LintCode:最长无重复字符的子串
- 最长无重复字符的子串 lintcode
- lintcode,最长无重复字符的子串
- lintcode(384)最长无重复字符的子串
- lintcode--最长无重复字符的子串
- [LintCode]384.最长无重复字符的子串
- LintCode:M-最长无重复字符的子串
- [LintCode 384] 最长无重复字符的子串(Python)
- lintcode最长无重复字符的子串
- LintCode 最长无重复字符的子串
- 最长无重复字符的子串-LintCode
- 最长无重复字符的子串
- 最长无重复字符的子串
- 最长无重复字符的子串
- 最长无重复字符的子串
- 最长无重复字符的子串
- js 创建遍历数组
- Java 23种设计模式 趣味解释,很有意思
- android webview 的使用
- [Unity3D教程]Unity中如何编写对象重用池机制
- android蓝牙源码分析
- 最长无重复字符的子串 lintcode
- txt文件插入数据到数据库
- CentOS 7 下Firewall防火墙配置用法详解
- 多列布局——Columns
- JS 冒泡排序
- 能够作图的软件都有哪些
- 视觉SLAM漫谈
- 使用里程计odometry计算转角
- JAVA中方法的调用(详细整理)