统计唯一数字一个班轮(有效)

use*_*824 0 python

我正在寻找一种方法,用一个班轮有效地计算独特的数字.

例如:给定整数623562,返回值为4.

我目前的做法是,给定整数i,我正在使用len(set(str(i))).创建集合非常耗时.我要经历很多数字,所以我需要一种有效的方法.

此外,如果有人可以找到一种方法来查看所有带有x数字的数字而不使用 range()(并在一个班轮...),我会很高兴.使用时内存限制了我,range因为创建了一个列表(我假设).

phi*_*hag 11

sets针对此创建进行了优化.除非您想要推出自己的十进制到字符串转换(并且需要多行),否则就可以了.

range仅在Python 2.x中分配内存.对于像623562这样的小数字,内存应该不是问题.对于较大的数字,请xrange在Python 2.x中使用,或者只需切换到Python 3.x,即可及时range生成数字.