描述
给定一个数字 k,计算 k 在 0 到 n 中出现的次数,k 可能是 0 到 9 的一个值。
样例
样例 1:
输入:
输出:
解释:
在 [0, 1] 中,只有 1 中存在数字 1,故出现一次。
样例 2:
输入:
输出:
解释:
在 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] 中,1、10、11、12 中均出现了 1,其中 11 中出现了 2 次 1,故1出现 5 次。
代码示例
public class Solution {
/**
* @param k: An integer
* @param n: An integer
* @return: An integer denote the count of digit k in 1..n
*/
public int digitCounts(int k, int n) {
// write your code here
int num= k==0? 1:0;
for (int i = 0; i <=n ; i++) {
if(i<k)continue;
int digit=i;
while(digit>0){
if(digit%10==k)num++;
digit/=10;
}
}
return num;
}
}