整数中1出现的次数(从1到n整数中1出现的次数)
2016-05-08 10:36
113 查看
题目:求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数。
思路:用最简单的方法做,还有一个找规律的高效解法。
实现代码:
思路:用最简单的方法做,还有一个找规律的高效解法。
实现代码:
public class Solution { public int NumberOf1Between1AndN_Solution(int n) { if(n <= 0) return 0; int cnt = 0; for(int i=1; i<=n; i++) { cnt += countOf1(i); } return cnt; } public int countOf1(int num) { int cnt = 0; while(num > 0) { if(num % 10 == 1) cnt ++; num /= 10; } return cnt; } }
相关文章推荐
- 为什么我们选择parquet
- myeclipse集成weblogic
- linux下Apache+Svn环境搭建(五)
- uva 11212
- 设置密码可见
- 集合框架--List和Set的特点
- ptrace运行原理及使用详解
- linux命令 wc
- GDOI2016总结
- sudo 的配置详解
- JAVA学习笔记(六)
- 今日BBC
- 常用HTML颜色表-HTML颜色代码色彩表
- POJ3041 Asteroids(二分图)
- poj 1961 Period(KMP求周期)
- pre-rh
- 过度拟合(overfitting)
- java 私有是封装的一种形式
- 第1课:通过案例对SparkStreaming 透彻理解三板斧之一
- 集合框架--迭代器的使用`