LintCode-3.统计数字

题目

描述

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

解答

思路

把数字当成字符串,拆成字符数组,统计k作为字符在字符数组中的出现次数。

代码

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 sum = 0;
        for(int i = 0; i <= n; i++){
            char[] c = String.valueOf(i).toCharArray();
            for(int j = 0; j < c.length;j++){
                if(c[j] == String.valueOf(k).toCharArray()[0]) sum++;
            }
        }
        return sum;
    }
};

你可能感兴趣的:(LintCode-3.统计数字)