leetcode241デザイン優先の演算式

 

クラスソリューション(オブジェクト):
    DEF diffWaysToCompute(セルフ、INPUT):
        「」「
         :タイプのINPUT:STR 
        :RTYPE:リスト[ INT ]
         」「」
         #機能カルク算術演算を行い、
        #辞書メモレコードは、いくつかの結果となっている、キー入力文字列のために、全ての組み合わせのための値の算出結果
        #が入力を横断し、境界としてオペレータに、左右の全ての組み合わせのリターンを得るために、計算、および順列を計算する
        #再帰デジタル入力境界を
        IF input.isdigit ():
             戻り [ INT (INPUT)] 
        メモ = } { 
        RES = []
         IF INPUT メモ:
             戻りメモ[INPUT]
        以下のための:範囲(LEN(入力))
            OP = 入力[i]の
             場合 OPない " + - * " 続ける
                 = self.diffWaysToCompute(入力[した:i]) = self.diffWaysToCompute(入力[I + 1 :])
             のための NUM1 左:
                  NUM2 右:
                    res.append(self.calc(NUM1、NUM2、OP))
        メモ[入力] =のRESは
         戻りRESを
    
    DEF計算値(自己、NUM1、NUM2、OP):
        もし OP == " + " リターン NUM1 + NUM2の
        elifのOP == " - " リターン num1- num2の
         リターン NUM1の*のNUM2
    

 

おすすめ

転載: www.cnblogs.com/joelwang/p/11210824.html