給定乙個整數 n,計算所有小於等於 n 的非負整數中數字 1 出現的個數。
示例:輸入: 13
輸出: 6
解釋: 數字 1 出現在以下數字中: 1, 10, 11, 12, 13 。
分別計算在個十百千。。。位上1出現的次數
在某個位置上如果是0,那麼1出現的次數=它的高位x它的位數
如果某個位置上是1,那麼1出現的次數=它的高位x它的位數+它的低位數字+1
如果某個位置上的數字大於1,那麼1出現的次數=(它的高位數字+1)x它的位數
比如說102
十位是0,十位出現1的情況是10——19,共10個
十位是1,十位出現1的情況是10——19,110——112,共1*10+2+1=13個
十位是2,十位出現1的情況是10——19,110——119,共(1+1)*10=20個
class solution
return sum;
}};
233 數字1的個數
給定乙個整數 n,計算所有小於等於 n 的非負整數中數字 1 出現的個數。示例 輸入 13輸出 6解釋 數字 1 出現在以下數字中 1,10,11,12,13 最開始想到的是暴力,但是暴力應該是過不了的。即是 把每乙個數字的裡1的個數都算出來再加起來就是答案 後來我改進了一下,但是還是超出時間和空間...
233 數字 1 的個數
給定乙個整數 n,計算所有小於等於 n 的非負整數中數字 1 出現的個數。示例 輸入 13 輸出 6 解釋 數字 1 出現在以下數字中 1,10,11,12,13 思路 統計出每一的位上1出現的個數,累加起來就是1出現的總個數。num 31456 現在統計百位上1出現的次數。將num分成兩部分 根據...
233 數字 1 的個數
給定乙個整數 n,計算所有小於等於 n 的非負整數中數字 1 出現的個數。示例 輸入 13 輸出 6 解釋 數字 1 出現在以下數字中 1,10,11,12,13 遞迴解決。分為首位為1和首位不為1兩種情況 1.首位為1,如12345。先考慮大於等於10000的 則10000 12345的首位1共貢...