Leetcode 3


https://leetcode.com/problems/longest-substring-without-repeating-characters/

質問:



マイソリューション:


class Solution:
    def lengthOfLongestSubstring(self, s: str) -> int:
    
        substring = ""
        maxcount = 0
        
        for char in s:
            if char not in substring:
                substring += char
                
            else: 
                maxcount = max(len(substring), maxcount)
                idx = substring.index(char)
                substring = substring[idx+1:]+char
                
        return max(len(substring), maxcount)

方法:


最も長い子列
  • を探すために、空のsubstringを作成します.
  • パラメータで受信された文字列sでは、for loopによってアルファベットcharが1つずつ確認される.
  • substringの中に今見ているアルファベットcharがなければ、substringに貼ってあります.
  • substringの中に今見ているアルファベットcharがあれば
  • substringの長さおよびmaxcountにおいて、より大きな長さがmaxcountに更新される.
  • substringには現在見ているcharが入っているので、charからsubstringに接続するはずです.
    このため、idx変数には、substringに既存のcharのインデックスが格納される.
  • substringidx+1に接続し、最後に現在for loopで見られるcharを加えます.
  • 最後に、
  • およびlen(substring)において、より大きな値、すなわち最も長いサブストリング長が返される.
  • おしゃべり


    アルゴリズムが難しすぎる.呜呜...