【LintCode】3.统计数字(Medium)解题报告

来源:互联网 发布:博罗县网络问政中心 编辑:程序博客网 时间:2024/05/23 15:37

【LintCode】3.统计数字(Medium)解题报告

题目地址:http://www.lintcode.com/zh-cn/problem/digit-counts/
题目描述:

  计算数字k在0到n中的出现的次数,k可能是0~9的一个值

Example

  例如n=12,k=1,在 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],我们发现1出现了5次 (1, 10, 11, 12)

Solutions:

正解:

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

  注意将i取出时,要用个j。

Date:2017年11月5日

原创粉丝点击