LintCode 3.统计数字

news/2024/5/18 21:51:43 标签: LintCode, 枚举, Java

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

public int digitCounts(int k, int n) {
        int count = 0;
        //循环从n->0,每个数和k比较
        while(n >= 0){
            count += isDigit(k,n);
            n--;
        }
        return count;
    }


    public static int isDigit(int k ,int n){
        int time = 0;   //记录单个数出现k的次数

        while(n > 9){
            if(n % 10 == k)     // n%10得到最后一位,与k进行比较
                time++;
            n /= 10;            // n/10去掉最后一位
        }
        if(n == k)              //当n只剩一位时,与k比较
            time++;
        return time;
    }

http://www.niftyadmin.cn/n/1736814.html

相关文章

软件工程之面向对象

什么是面向对象? 面向对象是一种对现实世界理解和抽象的方法,过面向对象的方法,更利于用人理解的方式对复杂系统进行分析、设计与编程。同时,面向对象能有效提高编程的效率,通过封装技术,消息机制可以像搭…

LintCode 4.丑数 II

设计一个算法,找出只含素因子2,3,5 的第 n 大的数。 符合条件的数如:1, 2, 3, 4, 5, 6, 8, 9, 10, 12… 注意事项 我们可以认为1也是一个丑数 样例 如果n 9, 返回 10 思路: 由题目的要求可知:…

软件工程介绍

弄了也不知道多久总算是把软工的视频草草的写完了,附上一份完整的总结图,画的依旧不好,多指教。

UML介绍

UML简介 Unified Modeling Language (UML)又称统一建模语言或标准建模语言,是始于1997年一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格&#xff…

大学英语四级电子照片修改过程。

某地方的四级电子照片要求: 1)背景布布选取浅蓝色 2)成像要求:要求上部空1/10,头部占7/10照片尺寸192*144(高*宽) 3)文件格式:Jpg,占用空间大小8KB&#x…

软件工程各阶段各图

软件工程导论作为软件工程中非常重要的一门课程,而其中的图又是其重中之重,初学者往往对其各种图搞的晕头转向,我在这里简单的对软件工程中个阶段用到的各种图做一个小小的总结,希望对大家能有帮助。 软件工程导论中一般把软件的开…

正则表达式-学习笔记01

什么是正则表达式? 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定的字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。 模式描述\w匹配字母数字及…

c#实例

1.概述 C#是一个语言,.net是一个平台,上面支持用C#或者VB.Net写代码2.注释 若注释量较少用 // 开头,大量用 /* */ 表示 输出结果 3.命名空间 所谓namespace,是指标识符的各种可见范围。c#命名空间就好像是一个储存了不同类型的仓…