下面的代码段用于返回不包含重复数字的数字。你知道吗
例如,如果输入是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:
simple input:
7
simple output:
7
测试用例2:
simple input:
3456
simple output:
2562
总是惊讶于“pythonic”解决方案的速度有多慢。下面是使用cython的80加速系数:
要使用它,请将其保存在.pyx文件中并使用pyximport(或使用distutils等构建它)
一些基准:
相关问题 更多 >
编程相关推荐