统计数字

来源:互联网 发布:sql server 修改视图 编辑:程序博客网 时间:2024/04/30 03:21

计算数字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)


该题型还是属于比较简单类型。 一般就是用数对10进行求余,如果得到的余数跟K相等,那count++; 数除于10进行下一次循环中。

不过要注意规避当 k = 0 时候的特殊情况。

class Solution {    /*     * param k : As description.     * param n : As description.     * return: An integer denote the count of digit k in 1..n     */    public int digitCounts(int k, int n) {        // write your code here        int count = 0;        if (k==0){            count=1;        }        for (int i = 0; i<= n; i++) {            int numb = i;            while (numb>0) {                if ( numb % 10 ==k){                    count++;                }                numb/=10;            }        }        return count;    }};


原创粉丝点击