数字を繰り返した数字を含まない数字を返すためのコードスニペットが書かれています。次のpythonスニペットを最適化する方法は?
例えば、入力が7の場合、プログラムは7カウントが(1,2,3,4,5,6,7)
の計数値を返し、出力は7
になります。
入力が23の場合、プログラムは数字の数を返します。23
の数値は(1,2,3,4,5,6,7,8,9,10,12,13,14,15,16,17,18,19,20,21,23)
です。ここでは11,22のような数値は除外され、出力は21
になります。
このコードを最適化するにはどうすればよいですか?
def nonrep1(n):
return sum(all(c != d for c, d in zip(str(i), str(i)[1:])) for i in xrange(1, n+1))
私はこのコードを最適化する必要がありますが、どうすればよいですか?
テストケース1:
簡単な入力:
7
簡単出力:
7
テストケース2:
シンプルな入力:
3456
簡単な出力:「神託のソリューションがいかに遅いと
2562
おそらくhttps://codereview.stackexchange.com/の候補です – languitar
このフォームの質問は、コードの内容に関するすべてのコンテキストが不足しているため、コードレビューでうまく受け入れられない可能性があります。不明そこに掲載される場合は、より多くの文脈を追加することを強くお勧めします。 – Phrancis
「このコードを最適化する」とはどういう意味ですか?ソースコードの長さを最適化しますか?パフォーマンス?使用されている関数の数? ... – kravemir