面试43题:

题目:1~n整数中1出现的次数

题:输入一个整数n,求1~n这n个整数的十进制表示中1出现的次数。例如,输入12,1~12这些整数中包含1的数字有1,10,11,12一共出现了5次。

解题思路一:直接累加1~n中每个整数中1出现的次数。

解题代码一:

# -*- coding:utf-8 -*-
class Solution:
def NumberOf1Between1AndN_Solution(self, n):
# write code here
totalCount=0
for i in range(1,n+1):
totalCount+=self.NumberOf1Core(i)
return totalCount def NumberOf1Core(self,number):
count=0
while(number):
if number%10==1:
count+=1
number=number//10
return count

解题思路二:同上,只不过先把1~n中每个数字先转为其字符串形式,然后数一数其中“1”出现的次数。

解题代码:

# -*- coding:utf-8 -*-
class Solution:
def NumberOf1Between1AndN_Solution(self, n):
# write code here
count=0
for i in range(1,n+1):
for j in str(i):
if j=="":
count+=1
return count

其他思路:待优化

最新文章

  1. 线上mongodb数据库mLab使用总结
  2. Ubuntu1404 (2)
  3. PL/0编译器(java version) – Scanner.java
  4. 北京联想招聘-IOS高级 加入qq 群:220486180 或者直接在此 留言咨询
  5. 【转载】Oracle 11g R2 for Win7旗舰版(64位)- 安装
  6. 【转】Linux中断处理学习笔记
  7. C++ Primer笔记1_转义字符_标准库类型string_标准库类型vector
  8. ng-Directive
  9. Java体系结构---垃圾回收
  10. tablelayoutpanel内部组件变形
  11. SmartCoder每日站立会议03
  12. webpack开发与生产环境配置
  13. 【转】S3C2440与SDRAM NorFlash NandFlash连线分析
  14. 使用react-router实现单页面应用路由
  15. Xcode 打包(Shell)
  16. mysql之select语法
  17. win7计划任务报该任务映像己损坏或己篡改
  18. Oracle表空间状态查询、意义及修改方式
  19. Tomcat监听443端口的方法
  20. 【转】Android 4.0 Launcher2源码分析——启动过程分析

热门文章

  1. Atitit eclipse新特性总结3.1---4.4  4.5
  2. websocket echo test
  3. match函数
  4. MVC-Model
  5. [原创]超强C#图片上传,加水印,自动生成缩略图源代码
  6. EEPlat的元模型体系
  7. centos httpd服务做yum本地源,以及安装Mysql
  8. FreeBSD Try to set MAKE_JOBS_UNSAFE=yes and rebuild before
  9. win10实现移动热点共享WIFI
  10. android http通信之HttpURLConnection post乱码问题