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;
    }
};
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,779评论 0 33
  • 9.3.3 快速排序   快速排序将原数组划分为两个子数组,第一个子数组中元素小于等于某个边界值,第二个子数组中的...
    RichardJieChen阅读 1,871评论 0 3
  • 计算机二级C语言上机题库(南开版) 1.m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平...
    MrSunbeam阅读 6,478评论 1 42
  • 努力做事的目的应该是想成功才符合正常思维,可万一失败了呢。我要打开双赢的局面,实验目的是印证:努力做事也不会成功。...
    a65739df4a1f阅读 231评论 0 1
  • 在冬天享受阳光是一种奢侈的幸福。 小时候我爱睡午觉,喜欢拉上厚厚的窗帘,整个人钻进被窝,在一片黑暗中闭上眼睛,似乎...
    清眠阅读 458评论 2 3