Leetcode: longest-substring-without-repeating-characters
来源:互联网 发布:豆瓣fm for mac 编辑:程序博客网 时间:2024/05/29 10:05
题目:
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.
思路:
1.利用HashMap保存字符及所在位置信息。
2.设置滑动窗口向右滑动,每当新加一个char时,左边检查窗口内是否重复
3.重复的话就将窗口左边放置在该字符上次出现的下一位
4.记录过程中窗口最大值、
代码:
import java.util.*;public class Solution { public int lengthOfLongestSubstring(String s) { if(s==null || s.length()==0) return 0; HashMap<Character,Integer> map = new HashMap<Character,Integer>(); int left = 0; //窗口左边位置 int max = 0; for(int i=0; i<s.length(); i++) { char c = s.charAt(i); left = Math.max(left, map.containsKey(c)?map.get(c)+1:0); max = Math.max(max, i-left+1); map.put(c, i); } return max; }}
0 0
- LeetCode: Longest Substring Without Repeating Characters
- LeetCode Longest Substring Without Repeating Characters
- LeetCode: Longest Substring Without Repeating Characters
- [Leetcode] Longest Substring Without Repeating Characters
- leetcode 23: Longest Substring Without Repeating Characters
- [LeetCode] Longest Substring Without Repeating Characters
- LeetCode 3 - Longest Substring Without Repeating Characters
- [LeetCode]Longest Substring Without Repeating Characters
- leetcode Longest Substring Without Repeating Characters
- 【leetcode】 Longest Substring Without Repeating Characters
- LeetCode-Longest Substring Without Repeating Characters
- [LeetCode] Longest Substring Without Repeating Characters
- [LeetCode] Longest Substring Without Repeating Characters
- [leetcode] Longest Substring Without Repeating Characters
- LeetCode - Longest Substring Without Repeating Characters
- LeetCode 3: Longest Substring Without Repeating Characters
- leetcode-3:Longest Substring Without Repeating Characters
- leetcode之Longest Substring Without Repeating Characters
- oracle 导入导出dmp数据
- volatile的作用
- 简易版主题切换功能的实现
- HR绩效考核工具和公式-全面
- [二分 ST表] HihoCoder #1469 Challenge 27 福字
- Leetcode: longest-substring-without-repeating-characters
- COM---多线程
- Java远程通讯可选技术及原理
- c语言控制输出格式-小数点位数
- 学习JAVA的第一天 | Hello World
- 使用Quartz.net、Topshelf、wcf命名管道制作的一个c#定时任务管理程序(热插拔)
- ARM:单和多寄存器加载存储、状态寄存器、协处理、软中断、乘法、交换等汇编指令
- 我的第一次——那一夜
- 最长对称子串