剑指offer 面试43题
2024-09-02 11:56:18
面试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
其他思路:待优化
最新文章
- 线上mongodb数据库mLab使用总结
- Ubuntu1404 (2)
- PL/0编译器(java version) – Scanner.java
- 北京联想招聘-IOS高级 加入qq 群:220486180 或者直接在此 留言咨询
- 【转载】Oracle 11g R2 for Win7旗舰版(64位)- 安装
- 【转】Linux中断处理学习笔记
- C++ Primer笔记1_转义字符_标准库类型string_标准库类型vector
- ng-Directive
- Java体系结构---垃圾回收
- tablelayoutpanel内部组件变形
- SmartCoder每日站立会议03
- webpack开发与生产环境配置
- 【转】S3C2440与SDRAM NorFlash NandFlash连线分析
- 使用react-router实现单页面应用路由
- Xcode 打包(Shell)
- mysql之select语法
- win7计划任务报该任务映像己损坏或己篡改
- Oracle表空间状态查询、意义及修改方式
- Tomcat监听443端口的方法
- 【转】Android 4.0 Launcher2源码分析——启动过程分析
热门文章
- Atitit eclipse新特性总结3.1---4.4  4.5
- websocket echo test
- match函数
- MVC-Model
- [原创]超强C#图片上传,加水印,自动生成缩略图源代码
- EEPlat的元模型体系
- centos httpd服务做yum本地源,以及安装Mysql
- FreeBSD Try to set MAKE_JOBS_UNSAFE=yes and rebuild before
- win10实现移动热点共享WIFI
- android http通信之HttpURLConnection post乱码问题