233. Number of Digit One【H】【33】【再来一遍】
2016-05-21 16:46
393 查看
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.
Show Hint
Subscribe to see which companies asked this question
按位算,先算个位数的1 有多少个,再算十位数的,依次往上
写了好多遍啊。。。。
For example:
Given n = 13,
Return 6, because digit 1 occurred in the following numbers: 1, 10, 11, 12, 13.
Show Hint
Subscribe to see which companies asked this question
按位算,先算个位数的1 有多少个,再算十位数的,依次往上
写了好多遍啊。。。。
class Solution(object): def countDigitOne(self, n): if n < 1: return 0 b = 0 t = 1 res = 0 while t <= n: b = n / (t*10) tres = b * t temp = (n / t)%10 if temp == 10: temp = 1 if temp == 1: tres += n % t + 1 elif temp > 1: tres += t res += tres #print t,b,tres t *= 10 return int(res)
相关文章推荐
- netty 解决TCP粘包与拆包问题(一)
- 系统资源监控--windows
- Java继承
- 试题库问题[网络流24题之7]
- 深度卷积网络CNN与图像语义分割
- Linux中USB鼠标驱动详解(讲解内核自带源码)
- 【Android学习笔记】Android中View的事件分发机制
- volatile与AtomicIntegerfieldupdater 区别与关系
- linux中自定义变量
- linux查看文件内容的常见命令
- 音乐播放器计划书
- Hadoop-2.4.1源码分析--MapReduce作业切片(Split)过程
- Ubuntu下Postfix邮件服务器安装及基本的设置
- 第三方支付那些事
- iOS QQ实现第三方登录以及遇到的问题
- C++ opencv 读取mp4文件
- 14、关于获取html页面元素的非行间样式
- 好工作需要这么多而充足的准备,你还在浪费时间吗 行动吧?
- 自己动手实现java中cache
- MySQL信息提示不是英文问题