思路
计算数字k在0到n中的出现的次数,k可能是0~9的一个值
样例
例如n=12,k=1,在 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],我们发现1出现了5次 (1, 10, 11, 12)
Python
class Solution:
"""
@param: : An integer
@param: : An integer
@return: An integer denote the count of digit k in 1..n
"""
def digitCounts(self, k, n):
# write your code here
str_n = ''
count = 0
for i in range(n + 1):
str_n += str(i)
for ch in str_n:
if str(k) == ch:
count += 1
return count
if __name__ == "__main__":
s = Solution()
kk = 1
a = 12
print(s.digitCounts(kk, a))
Go
package main
import (
"fmt"
"strings"
"strconv"
)
/**
* @param k: An integer
* @param n: An integer
* @return: An integer denote the count of digit k in 1..n
*/
func digitCounts(k int, n int) int {
// write your code here
count := 0
for i := 0; i <= n; i++ {
count += strings.Count(strconv.Itoa(i), strconv.Itoa(k))
}
return count
}
func main() {
fmt.Println(digitCounts(1, 12))
}