欢迎使用CSDN-markdown编辑器
来源:互联网 发布:sofifa数据库手机版 编辑:程序博客网 时间:2024/06/11 19:39
3.Longest Substring Without Repeating Characters
题意:求最长不重复子串的长度
思想:利用hash存储已遍历字符的最近出现位置,如果大于当前不重复子串的起始位置,表明该字符是重复出现,迭代更新。
算法复杂度:O(n)
具体代码
class Solution { public int lengthOfLongestSubstring(String s) { int start = 0, end = 0; int maxlen = 0; int currlen = 0; int hash[] = new int [128]; for(int i=0;i<128;i++) hash[i] = -1; for(int i=0;i<s.length();i++) { if(hash[s.charAt(i)]>=start){ if(maxlen<currlen) maxlen = currlen; start = hash[s.charAt(i)]+1; currlen = i-start+1; hash[s.charAt(i)] = i; } else{ hash[s.charAt(i)] = i; currlen++; } } return (maxlen>currlen)?maxlen:currlen; }}
阅读全文
0 0
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- Gradle打包src中的资源文件的配置方法(mapper.xml等)
- 实验三、链栈
- Android中java和smali转化一键化操作工具java2smali原理分析
- 实现一个函数判断year是不是润年。
- ssh的理解
- 欢迎使用CSDN-markdown编辑器
- [c# JAVA]类型转换集锦
- Spark开发环境搭建
- Linux实验二
- eclipse 注释时间显示格式
- 22 谓词推入(pushing predicate) --优化主题系列
- Java8 04 新日期时间API
- 项目中遇到的坑--数据库自动释放连接
- py4j.protocol.Py4JJavaError错误