非常に単純な見てみると、結果が間違って連続的に変化していき、それがハローの周りに簡単で、完了するまでに時間を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