無重複字元的最長字串長度 leetcode

2022-08-30 17:00:11 字數 895 閱讀 8128

一、題目描述

給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。

示例 1:

輸入: "abcabcbb"

輸出: 3

解釋: 因為無重複字元的最長子串是"abc",所以其長度為 3。

示例 2:

輸入: "bbbbb"

輸出: 1

解釋: 因為無重複字元的最長子串是"b",所以其長度為 1。

示例 3:

輸入: "pwwkew"

輸出: 3

解釋: 因為無重複字元的最長子串是"wke",所以其長度為 3。

請注意,你的答案必須是 子串 的長度,"pwke"是乙個子串行,不是子串。

二、思路分析

1、邏輯演推

將字串元素放入關聯陣列(字元 => 鍵),依次讀取字串元素,並判斷該元素是否在字典中存在,如果存在,起始字元位置改為,重複元素的下一位

例:字串:asfsdf

第一步:讀取a,該元素在字典中不存在, 放入字典 ['a' => 0] .... 依次讀取sf,並放入 ['a' => 0, 's' => 1, 'f' => 2]

第二步:讀取s ,s在字典中存在,此時從s的下乙個元素開始的字串中,判斷是否存在重複字元,即fsdf,更新s的位置資訊['a' => 0, 's' => 3, 'f' => 2]

第三步:重複一二步即可

三、php**

class solution  else if($i == $strlen - 1)  

$dict[$char] = $i;

}return $max;

}}

無重複字元的最長字串

給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。示例 1 輸入 abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。示例 2 輸入 bbbbb 輸出 1 解釋 因為無重複字元的最長子串是 b 所以其長度為 1。示例 3 輸入 pwwkew 輸出 3 ...

無重複字元的最長字串

給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。示例 1 輸入 abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。示例 2 輸入 bbbbb 輸出 1 解釋 因為無重複字元的最長子串是 b 所以其長度為 1。示例 3 這種字串字串問題,經常用到滑動...

無重複字串的最長字串

無重複字元的最長子串 難度中等 給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。示例 1 輸入 abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。示例 2 輸入 bbbbb 輸出 1 解釋 因為無重複字元的最長子串是 b 所以其長度為 1。示例 3...