【LeetCode笔记】剑指Offer 43. 1~n 整数中1出现的次数(Java、数位dp、偏数学)
生活随笔
收集整理的這篇文章主要介紹了
【LeetCode笔记】剑指Offer 43. 1~n 整数中1出现的次数(Java、数位dp、偏数学)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
文章目錄
- 題目描述
- 思路 && 代碼
- 二刷
打卡第九天啦~
題目描述
- 有點(diǎn)像數(shù)字序列中的某一位
思路 && 代碼
- 主體思路:從低到高,計(jì)算出每一位出現(xiàn)的1的個(gè)數(shù)。
- 三種情況:n的當(dāng)前位為0、為1、為其他值。
- 這里和數(shù)位dp的思想相關(guān)(但是博主沒(méi)怎么看= =,有興趣可以去了解了解)
- 仔細(xì)想想確實(shí)是dp的理,初始化、狀態(tài)轉(zhuǎn)移方程與最優(yōu)子結(jié)構(gòu)都很明顯。
二刷
- 核心思路:
- 數(shù)字分三部分:高、當(dāng)前、低
- 每位計(jì)算:三種公式,根據(jù)當(dāng)前位的值判斷
總結(jié)
以上是生活随笔為你收集整理的【LeetCode笔记】剑指Offer 43. 1~n 整数中1出现的次数(Java、数位dp、偏数学)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【LeetCode笔记】72. 编辑距离
- 下一篇: 【LeetCode笔记】143. 重排链