冉宝的每日一题--8月13日
昨天子序列的原创审核居然没有通过,无语子
不应该放ppt截图的。
今天的leetcode居然是一个困难题,加油!
上次也做出来啦。
233. 数字 1 的个数
链接: https://leetcode-cn.com/problems/number-of-digit-one/
给定一个整数 n,计算所有小于等于 n 的非负整数中数字 1 出现的个数。
示例 1:
输入:n = 13
输出:6
示例 2:
输入:n = 0
输出:0
提示:
思路:
用递推思想,数字范围那么大,肯定是要找规律的。
(1) n < 10 的时候 return 1.
(2)n == 10 return 2
(3)n == 11 return 4
(4)n== 12 -- 19 return 4 + n - 11 --> 4 + 8
(5)n == 20 -- 99 return moddiv(n,10) == quotient,remainder
return 4+ 8 + (quotient-2) + remainder > 0
然后发现了一个这个规律:
99 = 2 * 10
999 = 100 + 10 * 20
9999 = 1000 + ( 100 + 10 * 20 ) * 10
99999 = 10000 + (1000 + 300 * 10) * 10
那可以怎么说呢?
先判断什么数字范围。 100 以下的单独计算,100以上的走规律。
最大也就 2 * 10 ^9 次方,可以先先写个 10^ 9 -1 的映射字典:
是个没什么意思的题
但是我也想做出来
class Solution:def countDigitOne(self, n: int) -> int:# 0 -99 的映射字典def get_one(n):res = 0quotient,reminder = divmod(n,10)if quotient < 1:if reminder < 1:res = 0else:res = 1elif quotient == 1:if reminder < 1:res = 2 elif reminder == 1:res = 4else:res = 4 + reminder - 1else:res = 4 + 8 + quotient - 2 if reminder > 0:res += 1return res res_dict = {99:20}tmp_value = 20for i in range(3,10):tmp = 10 ** i - 1res_dict[tmp] = 10 ** (i-1) + tmp_value * 10 tmp_value = res_dict[tmp]if n < 100:return get_one(n)# 大于100的判断位数,然后加str_n = str(n)len_num = len(str_n)# 按位数计算# 前面的积累:res = 0while n >= 100:quotient,reminder = divmod(n,10**(len_num-1))if quotient == 1:res += res_dict[10 ** (len_num-1)-1]res += (reminder + 1)else:res += 10**(len_num-1)res += (quotient) * res_dict[10 ** (len_num-1)-1]n = reminderlen_num -= 1res += get_one(n)return res
冉宝的每日一题--8月13日相关推荐
- 冉宝的每日一题--8月5日
今天看女乒天团的直播,她们好有趣啊 802.找到最终的安全状态 在有向图中,以某个节点为起始节点,从该点出发,每一步沿着图中的一条有向边行走.如果到达的节点是终点(即它没有连出的有向边),则停止. 对 ...
- 淘宝618每日一猜6月8日答案-明星孙怡最喜欢的显瘦单品?
淘宝6月8日每日一猜答案是什么?,接下来也会给大家来介绍一下6月8日淘宝大赢家每日一猜的答案. 淘宝每日一猜6月8日答案分享 活动问题:明星孙怡最喜欢的显瘦单品? 活动答案:轻塑鲨鱼裤 今天的题目是和 ...
- 淘宝618每日一猜6月6日答案-甄嬛在横店哪里参加的选秀?
淘宝6月6日每日一猜答案是什么?,接下来也会给大家来介绍一下6月6日淘宝大赢家每日一猜的答案. 淘宝每日一猜6月6日答案分享 活动问题:甄嬛在横店哪里参加的选秀 活动答案:[交泰殿] 还有打开手机淘宝 ...
- 第五人格七月三日服务器维护要多久,第五人格微信每日一题7月3日答案是什么_今天有四个人来访过_玩游戏网...
<第五人格>2021独特时装体验卡礼包 第五人格2021独特时装体验卡礼包怎么获得?礼包中有独特时装体验卡.角色体验卡等奖励,小编这里就分享一下第五人格2021独特时装体验卡礼包领取地址, ...
- PMP模拟试题每日5题(5月5日)
摘要:为帮助即将参加PMP®考试的考生快速熟悉PMP®试题.熟练掌握PMP®相关考点知识,本专栏将每日推出5道PMP®模拟试题(包含试题原题和答案解析),快来进行练习吧! 1.你的敏捷团队与一个开发商 ...
- PMP模拟试题每日5题(5月7日)
摘要:为帮助即将参加PMP®考试的考生快速熟悉PMP®试题.熟练掌握PMP®相关考点知识,本专栏将每日推出5道PMP®模拟试题(包含试题原题和答案解析),快来进行练习吧! 1.产品开发团队采用敏捷开发 ...
- PMP模拟试题每日5题(4月28日)
摘要:为帮助即将参加PMP®考试的考生快速熟悉PMP®试题.熟练掌握PMP®相关考点知识,本专栏将每日推出5道PMP®模拟试题(包含试题原题和答案解析),快来进行练习吧! 1.项目需要委托第三方研发一 ...
- PMP模拟试题每日5题(4月22日)
摘要:为帮助即将参加PMP®考试的考生快速熟悉PMP®试题.熟练掌握PMP®相关考点知识,本专栏将每日推出5道PMP®模拟试题(包含试题原题和答案解析),快来进行练习吧! 1.项目技术团队强烈 ...
- PMP模拟试题每日5题(5月6日)
摘要:为帮助即将参加PMP®考试的考生快速熟悉PMP®试题.熟练掌握PMP®相关考点知识,本专栏将每日推出5道PMP®模拟试题(包含试题原题和答案解析),快来进行练习吧! 1.沟通对项目成功非常关键. ...
- 【备战秋招】每日一题:4月23日美团春招第三题:题面+题目思路 + C++/python/js/Go/java带注释
为了更好的阅读体检,为了更好的阅读体检,,可以查看我的算法学习博客第三题-农村大亨 在线评测链接:P1247 题目内容 塔子哥是一个喜欢种田类的游戏的人,他觉得这样的游戏可以让他体验到农民的乐趣,同时 ...
最新文章
- hdu 1879 继续畅通工程
- java主动抛出400异常_400个线程同时查询数据,抛出一个异常
- CNN中,1X1卷积核到底有什么作用呢?
- xxl-job 执行结果是空_空指针,段错误,这场面试我栽倒在这里了!
- 字符编码·ISO8859
- WORD出错:布局也会超出内容区
- 勒索病毒的原理和防范机制研究
- bugly热更新,提交补丁时提示未匹配到可应用补丁包的APP版本,请确认补丁包的基线版本是否配置正确
- oracle手动锁表和解锁_oracle锁表查询和解锁方法是什么
- php永久mediaid,幺蛾子事件之-zabbix配置告警媒介报错mediaid重复
- python学习-day18、文件处理、
- 计算机基础教学质量分析报告,张丹菲信息技术质量分析报告1
- Scrapy中的item和pipline
- Android 9.0 (P)
- 数字IC小白起步(一)
- [转载].NET商业软件源码保护
- 2021疫情下Android技术人的宅家学习进阶指南!花了大价钱大厂内部买来的学习资料,爱看不看!(全网神级笔记整理)
- 百度大脑OCR网约车行程单识别上线邀测啦
- 零伽壹 | 福州出台打造国内一流枢纽机场等16个重大项目行动方案
- 计算机中负数除法取余问题分析与实现