LeetCode Number of Digit One(计算1的个数)
来源:互联网 发布:java微信网页开发教程 编辑:程序博客网 时间:2024/05/22 06:24
题意:给出一个整数n,求从0到n之间的数中出现1的总个数
思路: 根据 high cur low(其中cur是1位),而number表示cur当前的位数(1,10,100,。。。)
当cur=0时,则有high * number
当cur =1时,则有high * number + (low + 1)
当cur>1时,则有(high+1) * number
代码如下:
public class Solution{ public int countDigitOne(int n) { int sum = 0; for (long m = 1; m <= n; m *= 10) { long a = n / m, b = n % m; sum += (a + 8) / 10 * m + (a % 10 == 1 ? 1 : 0) * (b + 1); } return sum; }}
0 0
- LeetCode Number of Digit One(计算1的个数)
- Number of Digit One 计算十进制1出现的个数
- leetcode 233. Number of Digit One 1个数量
- LeetCode OJ 之 Number of Digit One (数字1的个数)
- Number of Digit One 数字1的个数
- Number of Digit One 【leetcode】
- [leetcode] Number of Digit One
- [LeetCode] Number of Digit One
- LeetCode ||Number of Digit One
- Number of Digit One -- leetcode
- *LeetCode-Number of Digit One
- [LeetCode] Number of Digit One
- Leetcode Number of Digit One
- Leetcode: Number of Digit One
- Leetcode Number of Digit One
- leetcode:Number of Digit One
- 《leetCode》: Number of Digit One
- Leetcode Number of Digit One
- Android 获取栈顶activity并在service 中弹出全局dialog解决方法
- java接口和抽象类
- 反射所有方法测试终极版
- iOS开发UI篇-UIView的生命周期
- shell 多行注释详解
- LeetCode Number of Digit One(计算1的个数)
- 浅谈守护进程
- java最小泛型demo
- 在线人数滚动的效果
- 搭建Web服务器Tomcat
- 1001. A+B Format (20)
- DOS命令大全(经典收藏)
- 例题3-4 猜数字游戏的提示 UVa340
- [leetcode]221. Maximal Square