Python、C++、JavaScript、SQL、TypeScript の多様な LeetCode ソリューションを探索してください。面接の準備、学習、複数のプログラミング言語でのコードの練習に最適です。 Github リポジトリ リンク
文字列を与える s
の長さを求めます 最長 部分文字列 文字を繰り返さずに。
例 1:
入力: s = "abcabcbb" 出力: 3 説明: 答えは「abc」で、長さは 3 です。
例 2:
入力: s = "bbbbb" 出力: 1 説明: 答えは「b」で、長さは1です。
例 3:
入力: s = "pwwkew" 出力: 3 説明: 答えは「wke」で、長さは 3 です。答えは部分文字列である必要があることに注意してください。「pwke」は部分文字列ではなく部分シーケンスです。
制約:
0 <= s.length <= 5 * 10 4
s
英語の文字、数字、記号、スペースで構成されます。
パイソン
#時間計算量: O(n) #空間計算量: O(min(m,n)) from collections import Counter class ソリューション: def lengthOfLongestSubstring(self, s: str) -> int: chars = Counter() left = right = 0 res = 0 右 < len(s): r = s[right] chars[r] += 1 chars[r] > 1: l = s[left] chars[l] -= 1 左 += 1 res = max(res, right - left + 1) right += 1 return res Input = "abcabcbb" print(Solution().lengthOfLongestSubstring(Input))