leetcode - 8整数列変換(ATOI)

非常に単純な見てみると、結果が間違って連続的に変化していき、それがハローの周りに簡単で、完了するまでに時間を4分を過ごしました。ああ、非常に遅いです。

クラス溶液(オブジェクト):
     DEF myAtoi(自己、STR):
         "" " タイプSTR:STR 
        :RTYPE:INT 
        """ 
        A = str.lstrip()
         場合 lenの(A)<1 戻り0
         場合 lenの(A )== 1 もし [0] ない  ' 0123456789 ' リターン0
             戻りINT(a)の

        場合![0] = ' - '  ![0] =' + '  及び [0] ない  ' 0123456789 ' 返す0 
        、I = 0
         ながら私がlen <(A)-1 
            もし [1] [i]はしない  ' 0123456789 ' 
                もし [:I + 1] == ' + '  または [:I + 1] == ' - ' リターン0
                 もし INT(フロート([た:i + 1]))> 2 ** 31-1 リターン  2 ** 31-1
                 のelif INT(フロート([た:i + 1]))< - 2 ** 31 戻り   -2 ** 31 
                 リターン INT(フロート([した:i + 1 ]))
              + = 1
         であれば INT(フロート(A))> 2 ** 31-1 リターン 2 ** 31-1
         ELIFの INT(フロート(A))< - 2 ** 31 戻り   -2 ** 31
         リターン INT(フロート(a)参照)
実行時:28ミリ秒は、Pythonの提出内のすべてのユーザーの72.82パーセントを打ちます
メモリ消費量:11.7メガバイトには、Pythonの提出内のすべてのユーザーの35.29パーセントを破りました
。実行が8である場合にはMSの例の
 クラス:ソリューション(Object)を
     インポートDEF myAtoi(セルフ、STR):
         "" " タイプSTR:STR 
        :RTYPE:int型
        " "" 
        を返す(MAX(分(int型(* re.findallを' ^ [\ + \ - ]?\ + D '、str.lstrip()))、2 ** 31は-1)、 - 31 2 **)

*可変長リストを表し;
「^ [\ + \ - ] \ + D?」
^文字列の先頭にマッチします
[...]個別に列挙された文字の集合を表すのに使用されます:[AMK]一致します「」 、「M」または「K」
のRe≧0、または前のセグメント定義された正規表現の一致、非貪欲方法の
\ dが一致する数が、と等価である[0-9]
のRe +は、の一つ以上に一致します表現

                                                                                                           --2019.10.11

 

 

 

 

 

 
 
 

おすすめ

転載: www.cnblogs.com/taoyuxin/p/11655542.html