public int lengthOfLongestSubstring(String s) { Map<Character, Integer> dic = new HashMap<>(); int res = 0; int tmp = 0; for(int j = 0; j < s.length(); j++) { // 获取索引 i int i = dic.getOrDefault(s.charAt(j), -1); // 更新哈希表 dic.put(s.charAt(j), j); // dp[j - 1] -> dp[j] if (tmp < j - i){ tmp += 1; }else { tmp = j - i; } // max(dp[j - 1], dp[j]) res = Math.max(res, tmp); } return res; }
剑指Offer-48最长不含重复字符的子字符串
最新推荐文章于 2022-04-02 19:05:16 发布