LintCode[简单]统计数字
描述:计算数字 k 在 0 到 n 中的出现的次数,k 可能是 0~9 的一个值。
思路:
1.目前能想到的就是for循环遍历数,获取该数字出现次数进行叠加
2.这个题目应该是有规律的写法的,目前还没有先到规律是什么
例:
public int NumberOf1Between1AndN_Solution(int n) {
//蛮力法
int onenums = 0;
for(int i=1;i<=n;i++){//循环每个数
int j = i;
while(j!=0){//遍历每个数中1的个数
onenums +=(j%10-n==0?1:0);
j = j/10;
}
}
if(k==0){
onenums++;
}
return onenums;
}