计算数字k在0到n中的出现的次数,k可能是0~9的一个值
2018-03-21 12:30
501 查看
样例 例如n=12,k=1,在 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],我们发现1出现了5次 (1, 10, 11, 12)
本人使用的是java语言,亲测可行。学习时间较短,不足之处欢迎讨论。
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
int i=1;
int w=0;
int sum=0;
while((n/i)!=0){
i=i*10;
w++;
}
if(w==0&&k==0){
sum++;
return sum;
}
int[] A=new int[w];
int c=10;
int d;
for(int j=0;j<w;j++){
d=c/10;
A[j]=((n%c)-(n%d))/d;
if(A[j]<k){
sum=sum+(n/c)*d;
}else if(A[j]==k){
sum=sum+(n/c)*d+(n%d)+1;
}else if(k==0&&j==(w-1)){
sum=sum;
}else{
sum=sum+((n/c)+1)*d;
}
c=c*10;
}
return sum;
}
};
以下为草稿,留作以后修改的参考。
本人使用的是java语言,亲测可行。学习时间较短,不足之处欢迎讨论。
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
int i=1;
int w=0;
int sum=0;
while((n/i)!=0){
i=i*10;
w++;
}
if(w==0&&k==0){
sum++;
return sum;
}
int[] A=new int[w];
int c=10;
int d;
for(int j=0;j<w;j++){
d=c/10;
A[j]=((n%c)-(n%d))/d;
if(A[j]<k){
sum=sum+(n/c)*d;
}else if(A[j]==k){
sum=sum+(n/c)*d+(n%d)+1;
}else if(k==0&&j==(w-1)){
sum=sum;
}else{
sum=sum+((n/c)+1)*d;
}
c=c*10;
}
return sum;
}
};
以下为草稿,留作以后修改的参考。
相关文章推荐
- 计算数字k在0到n中的出现的次数,k可能是0~9的一个值
- 计算数字k在0到n中的出现的次数,k可能是0~9的一个值
- 计算数字k在0到n中的出现的次数,k可能是0~9的一个值
- 计算数字k在0到n中的出现的次数,k可能是0~9的一个值
- adae 生成一个列表,存放100个随机整数,找出出现次数最多的数字(可能不止一个)
- 生成一个列表,存放100个随机整数,找出出现次数最多的数字(可能不止一个)
- 1、在一个由自然数1-1000中某些数字所组成的数组中,每个数字可能出现零次或者多次。设计一个算法,找出出现次数最多的数字。
- 计算1至n中数字X出现的次数
- 计算一个字符串最多重复的字符及出现次数
- 4.3输入一个字符串,计算字符串中字串中子串出现的次数
- 提示用户输入的一个长度8位正整数数字 , 我们来统计这个数字中的每一位上出现的数字的重复次数 :
- 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在
- (算法)计算一个字符串在另一个字符串中出现的次数
- 统计一个数字在排序数组中出现的次数。 数组是排序的,只需要找到第一个K和最后一个K就可以知道有多少个,
- (使用STL自带的排序函数进行编程7.3.14)UVA 10062 Tell me the frequencies!(求一个字符出现的次数(包括字母和数字)&&按出现的次数降序)
- php如何计算一个字符串的每个字符出现的次数
- 计算1至n中数字X出现的次数
- 比较快的计算1~N中出现数字K的次数
- 计算1到n的数字中1的出现的次数
- 统计一个数字在排序数组中出现的次数