LintCode 第三题:统计数字
题目要求:给定一个数字 k
,计算 k
在 0 到 n 中出现的次数,k
可能是 0 到 9 的一个值。
这次我们的算法复杂度为O(n),首先,我们遍历0到n之间的所有数字,然后呢,把这个数字转换为字符串,通过字符串的count操作,获取数量,添加到结果就可以啦
Python实现:
- class Solution:
- """
- @param k: An integer
- @param n: An integer
- @return: An integer denote the count of digit k in 1..n
- """
- def digit_counts(self, k, n):
- # write your code here
- result=0
- for i in range(n+1):
- result+=str(i).count(str(k))
- return result