如何找到《剑指 Offer》中不含重复字符的最长子字符串?

2026-04-29 20:203阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计321个文字,预计阅读时间需要2分钟。

如何找到《剑指 Offer》中不含重复字符的最长子字符串?

请从字符串中找出一个最长的、不包含重复字符的子字符串,并计算该子字符串的长度。

示例1:输入abc,输出abc,长度=3。

示例2:输入b,输出b,长度=1。

示例3:输入wke和pwke,输出pwke,长度=4。

提示:+s.length=40000,使用滑动窗口,哈希表来记录。

请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。

示例1:

"abc",所以其

示例 2:

"b"

示例 3:

如何找到《剑指 Offer》中不含重复字符的最长子字符串?

"wke" "pwke"

提示:

  • s.length <= 40000

使用滑动窗口,哈希表来记录:

class Solution { public int lengthOfLongestSubstring(String s) { HashMap<Character, Integer> map = new HashMap<>(); int max = 0; for (int i = 0,start = 0; i < s.length(); i++) { char c = s.charAt(i); //如果重复 if (map.containsKey(c)) { start = Math.max(map.get(c),start); } map.put(c,i+1); max = Math.max(max,i-start+1); } return max ; } }

标签:

本文共计321个文字,预计阅读时间需要2分钟。

如何找到《剑指 Offer》中不含重复字符的最长子字符串?

请从字符串中找出一个最长的、不包含重复字符的子字符串,并计算该子字符串的长度。

示例1:输入abc,输出abc,长度=3。

示例2:输入b,输出b,长度=1。

示例3:输入wke和pwke,输出pwke,长度=4。

提示:+s.length=40000,使用滑动窗口,哈希表来记录。

请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。

示例1:

"abc",所以其

示例 2:

"b"

示例 3:

如何找到《剑指 Offer》中不含重复字符的最长子字符串?

"wke" "pwke"

提示:

  • s.length <= 40000

使用滑动窗口,哈希表来记录:

class Solution { public int lengthOfLongestSubstring(String s) { HashMap<Character, Integer> map = new HashMap<>(); int max = 0; for (int i = 0,start = 0; i < s.length(); i++) { char c = s.charAt(i); //如果重复 if (map.containsKey(c)) { start = Math.max(map.get(c),start); } map.put(c,i+1); max = Math.max(max,i-start+1); } return max ; } }

标签: