【leetcode】3. Longest Substring Without Repeating Characters
2016-04-10 11:36
447 查看
计算最长的无重复字符的串长
用HashMap记住重复的单词及其位置。当重复时,让tempStart指针移到重复位置+1,如果start指针小于tempStart,则更新start指针,长度就是当前重复的位置 - start。读到字符串末尾时还需要判断一次
用HashMap记住重复的单词及其位置。当重复时,让tempStart指针移到重复位置+1,如果start指针小于tempStart,则更新start指针,长度就是当前重复的位置 - start。读到字符串末尾时还需要判断一次
public class Solution { public int lengthOfLongestSubstring(String s) { Map<Character, Integer> map = new HashMap<Character, Integer>(); int start = 0; int maxLength = 0; for (int i = 0; i < s.length(); ++i) { char c = s.charAt(i); if (map.containsKey(c)) { int length = i - start; int tempStart = map.get(c) + 1; start = start > tempStart ? start : tempStart; if (maxLength < length) { maxLength = length; } } map.put(c, i); } int length = s.length() - start; if (maxLength < length) { maxLength = length; } return maxLength; } }
相关文章推荐
- 数据结构:List和Stack
- HDU2045
- Android Studio export heap dump
- 当前不会命中断点还未为文档加载任何符号——问题探究
- C++中int型数据的十六进制写法
- CentOS 7.0 修改hostname
- java基础补充-反射
- angular ui $modal 使用 option
- 计算理论初步:P vs NP 问题
- TX安全技术笔试回忆(实习)
- zzuoj 10445: 魔法花园 【思维】
- 从校招时间谈大学求职准备
- Android模仿发说说 完美版 无bug 可以本地获取相机,相册 删除,点击进入滑动 ui更新
- iOS开发数据库篇—SQLite简单介绍
- MAMP下安装phpredis扩展(微原创)
- zzuoj 10452: "分"数 【dp】
- leetcode 10 Regular Expression Matching
- Oracle ,My SQL 与SQL Server的区别
- 【机房合作】——总结
- zzuoj 10459: Tutti! 【最小费用最大流】