LeetCode算法(3)_無重複字符的最長子串
import java.util.HashSet; /* * @lc app=leetcode.cn id=3 lang=java * * [3] 無重複字符的最長子串 */ // @lc code=start class Solution { public int lengthOfLongestSubstring(String s) { int n = s.length(); int maxlen = 0; HashSet<Character> set = new HashSet<Character>(); int rk = -1; for(int i = 0;i<n;i++){ if(i!=0){ set.remove(s.charAt(i-1)); } while(rk+1<n && !set.contains(s.charAt(rk+1))){ set.add(s.charAt(rk+1)); ++rk; } maxlen = Math.max(maxlen, rk-i+1); } return maxlen; } } // @lc code=end
LeetCode算法(3)_無重複字符的最長子串
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.