Leetcode旅途三
来源:互联网 发布:it 网络管理系统 价格 编辑:程序博客网 时间:2024/06/06 02:55
No.3:Longest Substring Without Repeating Characters
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.
解题思路:
这道题求的是最长不重复的子字符串。
第一个能想到的方法自然是两层嵌套循环的,时间复杂度自然是O(n)。
第二个方法是运用贪心算法,寻找两个相同字符字符串之间的最长子串。因为最长不重复的子字符串必然是存在于两个重复的字符之间。
具体实现代码如下:
public int lengthOfLongestSubstring(String s) {
int[] count = new int [255];
int max = 0, start = 0;
for(int i= 0; i < 255; i++) count[i] = -1;
for(int i = 0; i < s.length();i++){
if(count[s.charAt(i)] > start){
if(i - start >= max)
max = i - start;
start = count[s.charAt(i)] + 1;
}
count[s.charAt(i)] = i;
}
if(max > s.length() - start)
return max;
else
return s.length() - start;
}
- Leetcode旅途三
- Leetcode旅途一
- Leetcode旅途二
- 旅途
- 旅途
- 旅途
- 旅途
- 旅途
- 旅途
- 旅途
- 旅途
- 旅途感受
- 生命旅途
- 旅途杂记
- 火车旅途
- 旅途中
- 一段旅途
- 旅途点滴
- muduo库的学习2--Socket的基本设计---代码细节
- 制作initrd(6):重做Ubuntu安装盘
- MatLab基础
- iOS 创建单例的两种方法
- fcntl函数详解
- Leetcode旅途三
- 线性最小二乘法
- Missing iOS Distribution signing identity for ...
- 51nod 1443 路径和树
- Maven简明教程(2)---eclipse集成
- CC2650之SensorTag 演示
- [matlab]中logical类型
- ICPCCamp 2016 Day 8 - Makoto Soejima's Contest #4(String Modification-模拟)
- C语言 int &a