【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日