LintCode[简单]统计数字

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;
    }

你可能感兴趣的:(算法,算法)