关注
我严重怀疑这代码不是你自己写的,因为感觉你自己都不知道这个代码在干什么事情,注释都错了 不懂请不要装懂误导别人 这个代码的核心思想就是找出各个位数上1的个数,和辗转相除一点关系都没有 重新注释了一下,有兴趣的就看看吧 def NumberOf1Between1AndN_Solution(n):
temp = n
res = 0
base = 1 # 应该是指位数,1表示个位,10表示十位....
while temp:
p = temp % 10 # 取出当前位
temp = temp // 10
res += temp * base # temp * base得到该位的出现次数
if p == 1:
# 如果这个位数是1,那么还要算上这个位数1出现的次数
# 举例: 1141的百位
# 上面temp * base即1 * 100算出的是1000前百位为1的个数,1100到1141百位上的1没统计到,因此最终结果还要加上42个
res += n % base + 1
elif p > 1:
# 如果这个位数大于1,那么这个位数的1还出现了base次
# 举例: 1141的十位
# 上面temp * base即11 * 10算出的是1100前十位为1的个数,1100后还有10个没统计到
res += base
base *= 10
return res
12
相关推荐
牛客热帖
更多
- 1... 🌟择难路,未有疑,四非学院本运气拉满,春招拿下大厂后端6.3W
- 2... 秋招应该侧重准备哪个部分的内容1.4W
- 3... 恋爱四年没想到过自己会出轨1.1W
- 4... 腾讯云智后台开发暑期面经9725
- 5... 史上最细SQL实战系列:sql笔试例题总结篇(建议收藏)8947
- 6... 25届毕业现在在家呆了一个多月,没工作7037
- 7... 其实主包早就找到工作了,但还是每天都刷6524
- 8... 字节实习week6:听leader吐槽当前的应届生候选人们5592
- 9... 离开软件测试才发现外面没有雨5422
- 10... 作为实习生,我问薪无愧5176
正在热议
更多
# 应届生,你找到工作了吗 #
2961次浏览 38人参与
# 双非应该如何逆袭? #
173923次浏览 2969人参与
# 现代汽车前瞻技术研发急速编程挑战赛 #
39115次浏览 285人参与
# 简历当中有水分算不算造假? #
4705次浏览 47人参与
# 春招进度记录 #
341433次浏览 3243人参与
# 实习生的蛐蛐区 #
4507次浏览 42人参与
# 百度秋招提前批进度 #
105298次浏览 1124人参与
# 谈薪时HR压价该怎么应对 #
205921次浏览 3177人参与
# 三一集团提前批进度交流 #
22373次浏览 139人参与
# 毕业旅行去哪玩儿 #
8056次浏览 123人参与
# 双非有机会进大厂吗 #
434703次浏览 4403人参与
# 百度求职进展汇总 #
406492次浏览 4718人参与
# 正在春招的你,也参与了去年秋招吗? #
308797次浏览 2523人参与
# 非技术岗投递进展 #
144545次浏览 1264人参与
# 上班到公司第一件事做什么? #
60707次浏览 521人参与
# 我的OC时间线 #
815382次浏览 7773人参与
# 秋招盘点:机械人值得去的企业 #
72051次浏览 670人参与
# 材料进Fab厂真的劝退吗? #
43310次浏览 184人参与
# 没有合适的工作,你会先找个干着,还是考公考研 #
116236次浏览 1133人参与
# 百度工作体验 #
230101次浏览 2010人参与
# 如果可以,你希望哪个公司来捞你 #
96760次浏览 397人参与