白さんはカードを勉強します.


エラー
  • Pythonエラーinvalid character in identifier:措置:無効な文字が現れたことを説明するのは一般的に中国語の文字を入力して変更したり、この行を叩いたりする
  • です.
  • PythonエラーIndentationError:unindent does not match any outer indentation level措置:最も一般的な原因は、確かに整列していないことです.Notepad++ビューで表示できます.スペースとタブの新しいPython構文を表示します.サポートされていないコードの位置合わせで、TABとスペースの設定を混用します.プリファレンス--言語--TAB
  • の代わりにスペースを使用します.
  • notepad++Pythonファイルを実行すると、ファイルアクションが見つかりません.ファイル名を入力してPython Python Hello.py
  • を追加します.
    タイトル
    以下のテーマはLeetcodeから
    1.最大有効かっこ
    タイトルの説明
    入力:")()()"出力:4解釈:最大有効かっこ子列が"()()"
    考え方:
    長さの定義-ループ-左かっこの数-右かっこの数-最小値
    Class Solution:
        def longvalidParentheses(self, s:str)->int:
            len=s.length
            while(i<len):
               if(t=="("):
                count0=count0+1
               else:
                count1=count1+1
                      
            if(count0<count1):
                return count0
            else:
                return count1
    

    反省する
    もし")()")","だったら,正确な判断はできません.
    正解
    一致する左かっこインデックス、区切り記号として機能する右かっこインデックスを待機します.後者がスタックに入るのは、左かっこが一致すると、スタックには「下敷き」の「参照物」class Solution:def longestValidParentheses(self,s:str)->int:maxlen=0 stack=[-1]for i in range(len(s):ifs[i]=「(」:stack.append(i)continuedel stack[-1]if stack=[]:stack.append(i)else:maxlen=max(maxlen,maxlen,i-stack[-1])return maxlen作者:hyj 8
    2.回転ソート配列の検索
    タイトルの説明
    昇順で並べ替えられた配列が予め未知の点で回転していると仮定する.
    (例えば配列[0,1,2,4,5,6,7]は[4,5,6,7,0,1,2]になる可能性がある).
    指定したターゲット値を検索し、配列にターゲット値が存在する場合はインデックスを返します.そうでない場合は-1を返します.
    配列に重複する要素が存在しないと仮定できます.
    あなたのアルゴリズムの時間複雑度はO(log n)レベルでなければなりません.
    構想
    ループターゲット値が見つかり、戻りindexが見つかりません.戻り-1が見つかりません.
    に答える
    class Solution:
        def search(self, nums: List[int], target: int) -> int:
            for i in range(len(nums)):
                if(nums[i]==target):
                    return i
                else:
                    return -1
    

    実行は成功しましたが、エラーは解決されませんでした
    反省する
    時間の複雑さに応じて二分検索のみを選択してこの例に具体的な数値を分析する
    正解
    class Solution: def search(self, nums: List[int], target: int) -> int: if not nums: return -1 l, r = 0, len(nums) - 1 while l <= r: mid = (l + r)//2 if nums[mid] == target: return mid if nums[0] <= nums[mid]: if nums[0] <= target < nums[mid]: r = mid - 1 else: l = mid + 1 else: if nums[mid] < target <= nums[len(nums) - 1]:l=mid+1 else:r=mid-1 return-1作者:LeetCode-Solution