[LeetCode] Number of Digit One
来源:互联网 发布:电视机用网络看电视 编辑:程序博客网 时间:2024/06/04 18:05
Given an integer n, count the total number of digit 1 appearing in all non-negative integers less than or equal to n.
For example:
Given n = 13,
Return 6, because digit 1 occurred in the following numbers: 1, 10, 11, 12, 13.
public class Solution { public int countDigitOne(int n) { if(n < 0) return 0; long factor = 1; int result = 0; while(factor <= n){ int left = n / (int) factor; int right = n % (int) factor; int leftDigit = left % 10; if(leftDigit >= 2){ result += (left / 10 + 1) * factor; } else if(leftDigit == 1){ result += right + 1 + (left / 10) * factor; } else{ result += left / 10 * factor; } factor *= 10; } return result; }}
思路详见:http://www.meetqun.com/thread-10288-1-1.html
0 0
- 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
- Number of Digit One leetcode
- leetcode 233: Number of Digit One
- Leetcode 233 Number of Digit One
- [leetcode] 233.Number of Digit One
- LeetCode-Number of Digit One-解题报告
- System.exit(0)和System.exit(1)区别
- 【Leet Code】56. Merge Intervals---Hard
- Oracle Execute to Parse 执行解析比分析
- Extjs序号分页切换时,序号的问题
- Riot工程师:三步让你的游戏更新更快更小
- [LeetCode] Number of Digit One
- iOS 一个label中显示不同颜色的文字
- 关于bios中设置upan启动
- PackageManager、PowerManager、AudioManager、PackageItemInfo、ActivityInfo、ServiceInfo、ApplicationInfo说明
- tag和branch,trunk
- ultraedit 正则 替换
- PopupWindow源码分析
- Tomcat7.0起步:报错java.lang.NoClassDefFoundError: org/apach
- Innodb参数innodb_flush_log_at_trx_commit详解