【发布时间】:2017-04-06 08:29:30
【问题描述】:
下面的代码 sn-p 用于返回不包含重复数字的数字的数字。
例如,如果输入为 7,则程序应返回 (1,2,3,4,5,6,7) 的计数 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
【问题讨论】:
-
可能是codereview.stackexchange.com的候选人
-
这种形式的问题在 Code Review 中可能不会被很好地接受,因为它缺乏关于代码用途的所有上下文,并且可能会因为不清楚而被关闭。如果要在那里发布,我强烈建议添加更多上下文。
-
“优化此代码”是什么意思?你想优化源代码的长度吗?表现?使用的功能数量?源代码的可读性?...
-
性能和使用的函数数量@kravemir
-
我正在看这个,所以请不要关闭问题
标签: python