描述
中文english
計算數字 k 在 0 到 n 中的出現的次數,k 可能是 0~9 的乙個值。
您在真實的面試中是否遇到過這個題?
樣例樣例 1:
輸入:k = 1, n = 1
輸出:1
解釋:在 [0, 1] 中,我們發現 1 出現了 1 次 (1)。
樣例 2:
輸入:k = 1, n = 12
輸出:5
解釋:在 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] 中,我們發現 1 出現了 5 次 (1, 10, 11, 12)(注意11中有兩個1)。
解答思路:
思考每個位數上該k值會出現多少次
比如乙個1231的n值 k為1
個位數只可能是0-9的陣列,1230說明我由123個10外加乙個個位數上的組成了這個值,這說明我在從0到1230期間,個位數遇到了123個k值外加個位數遇到了乙個1,此時個位數的k計算完畢
十位數只可能是0-9,1230說明我由12個100外加乙個30的組成了這個值,這說明我在從0到1230期間,十位數遇到了12個k值,外加乙個30遇到的k數值,30的3>k,說明還遇到了10個k值(10~~19)
而如果n為1211 k為1, 十位數遇到了12個k值外加乙個11遇到的k值,11的1=k,說明還遇到了10位數的餘數(個位數上的數值)+1個k(10、11)
由此可得:
public class solution
while(wei<=n) else if(left/wei > k&&k!=0) else if(k!=0)
}wei=wei*10;
}return sums;
}}
演算法實現題 統計數字
一本書的頁碼從自然數 1 開始順序編碼直到自然數 n。書的頁碼按照通常的習慣編排,每個頁碼都不含多餘的前導數字 0。例如,第 6 頁用數字 6 表示,而不是 06 或 006 等。數字計數問題要求對給定書的總頁碼 n,計算出書的全部頁碼中分別用到多少次數字 0,1,2,9。給定表示書的總頁碼的 10...
3 統計數字
題目 計算數字k在0到n中的出現的次數,k可能是0 9的乙個值 例如n 12,k 1,在 0,1,2,3,4,5,6,7,8,9,10,11,12 我們發現1出現了5次 1,10,11,12 分析 對每個數字number進行遍歷,從個位開始,逐一判斷是否等於我們要找的數字k,若個位數字等於k,計數加...
演算法實現題 1 1 統計數字問題
問題描述 一本書的頁碼從自然數 1 開始順序編碼直到自然數 n。書的頁碼按照通常的習慣編排,每個頁碼都不含多餘的前導數字 0。例如,第 6 頁用數字 6 表示,而不是 06 或 006 等。數 字計數問題要求對給定書的總頁碼 n,計算出書的全部頁碼中分別用到多少次數字 0,1,2,9。程式設計任務 ...