计算数字k在0到n中的出现的次数,k可能是0~9的一个值
来源:互联网 发布:php tp框架分页 编辑:程序博客网 时间:2024/05/21 15:44
统计数字
计算数字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)
---------------------------------------------------------------------------------------------------------------------------------------------
解题思路:
假设n是两位数,n=ab(如果n=53 的话,a=5,b=3)
1.从0到n中个位数上是k的数字一共有多少个?这要看k和b的大小。若k<b 是5+1=6个 若k>b 是5个
2.从0到n中十位数上是k的数字一共有多少个?这要看k和a的大小。若k<a 是1*10个 若k>a 是0*10个 若k=a 是 b+1=4个
假设n是三位数,n=abc(如果n=345的话,a=3,b=4,c=5)
1.从0到n中个位数上是k的数字一共多少个? k<c: 34+1=35 k>c: 34
2.从0到n中十位数上是k的数字一共多少个? k<b: 3*10 k>b:(3+1)*10 k=b: 3*10+5+1=36个
3.从0到n中百位数上是k的数字一共多少个? k<a: 1*100 k>a:0 k=a:45+1=46个
归纳:
设一个整数为abcdef(六位数),current表示当前正在统计的i位上的数字大小(i=10的话,current=e i=1000的话,current=c)
before为current之前的所有数字,after为current之后的所有数字(current=d的话,before=abc,after=ef)
举例:534898 current=4 before=53 after=898
从个位开始统计。直到统计完所有位。
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
实现:
int digitCounts(int k, int n) { int current=before=after=0; int i=1,n_count=0; while(n/i!=0){ current=(n/i)%10; before=n/(i*10); after=n-n/i*i; if(current>k) n_count=n_count+(before+1)*i; else if(current<k) n_count=n_count+before*i; else n_count=n_count+before*i+after+1; }}
- 计算数字k在0到n中的出现的次数,k可能是0~9的一个值
- 计算数字k在0到n中的出现的次数,k可能是0~9的一个值
- 计算数字k在0到n中的出现的次数,k可能是0~9的一个值
- 计算0到n中数字2出现的次数
- 如何计算一个数n从0到n中0到9出现的次数
- 计算n以内的数字0到9分别出现的次数
- 计算从1到n整数中K出现的次数
- 从1 到 n 中 k 出现的次数
- 计算页码,统计0到9数字出现的次数
- 数字 k 在排序数组 arr 中出现的次数
- 统计一个数字在排序数组中出现的次数。 数组是排序的,只需要找到第一个K和最后一个K就可以知道有多少个,
- 【剑指offer】计算1至n中整数k出现的次数
- 数组中找到出现次数大于N/K的数
- 求排序数组中数字k出现的次数
- 【前端笔试题】给定数字N,求从1到N中间0出现的次数
- 数组与矩阵---在数组中找到出现次数大于一半(N/K)的数
- 分别计算0-n中0-9出现的次数
- 计算1到n的数字中1的出现的次数
- Email 验证
- 关于微信分享、登录的一些注意事项
- hdu 5317
- 当现实爱情照进童话——《小王子》梗概及写作技术分析
- 黑马程序员------泛型
- 计算数字k在0到n中的出现的次数,k可能是0~9的一个值
- [深入理解Android卷一全文-第七章]深入理解Audio系统
- http://blog.csdn.net/uranus_wm/article/details/9838847
- ECLIPSE使用appcompat_v7库无法找到android:Widget.Material.ActionButton的问题
- 在Android项目中新建及添加Library
- UVA156-Ananagrams
- 整合Struts2与Spring以及spring的自动装配
- source insight 头文件注释与函数注释
- java 伪共享(false sharing)解决思路