摘要:問題描述求出的整數(shù)中出現(xiàn)的次數(shù)并算出的整數(shù)中出現(xiàn)的次數(shù)為此他特別數(shù)了一下中包含的數(shù)字有因此共出現(xiàn)次但是對于后面問題他就沒轍了。希望你們幫幫他并把問題更加普遍化可以很快的求出任意非負整數(shù)區(qū)間中出現(xiàn)的次數(shù)從到中出現(xiàn)的次數(shù)。
問題描述:
求出1~13的整數(shù)中1出現(xiàn)的次數(shù),并算出100~1300的整數(shù)中1出現(xiàn)的次數(shù)?為此他特別數(shù)了一下1~13中包含1的數(shù)字有1、10、11、12、13因此共出現(xiàn)6次,但是對于后面問題他就沒轍了。ACMer希望你們幫幫他,并把問題更加普遍化,可以很快的求出任意非負整數(shù)區(qū)間中1出現(xiàn)的次數(shù)(從1 到 n 中1出現(xiàn)的次數(shù))。
筆記:
public class Solution { public int NumberOf1Between1AndN_Solution(int n) { int count = 0; //最終返回的個數(shù) int i = 1; //當前位數(shù) int cur = 0, before = 0, after = 0; while (n/i != 0){ cur = n%(i*10)/i; //表示當前位上的數(shù)字 before = n/(i*10); //表示當前位前的數(shù) after = n%i; //表示當前位后的數(shù)字 if (cur == 0){ //當前位0,如31010,百位上為0,(0~30)*100種百位為1的情況 count += before*i; } else if (cur == 1){ //當前位為1,如31110,百位上為1,(0~30)*100+10+1種情況 count += before*i + after+1; } else { //當前位大于1,如31400,百位上大于1,(0~31)*100種情況 count += (before+1)*i; } i *= 10; //每次循環(huán)計算一位上出現(xiàn)1的情況 } return count; } }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/74985.html
摘要:二維數(shù)組中的查找在一個二維數(shù)組中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。解法有兩種,一種是遞歸法,一種是迭代法但是遞歸法計算的時間復雜度是以的指數(shù)的方式遞增的,如果面試中千萬不要用遞歸法,一定要用迭代法。 二維數(shù)組中的查找 在一個二維數(shù)組中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函數(shù),輸入這樣的一個二維數(shù)組和...
摘要:問題描述輸入一個整數(shù),輸出該數(shù)二進制表示中的個數(shù)。其中負數(shù)用補碼表示。思路方法將二進制變成字符數(shù)組,遍歷數(shù)組統(tǒng)計的個數(shù),這種辦法不需要考慮正負數(shù)。遍歷字符數(shù)組,統(tǒng)計的個數(shù)判斷該位是否是,如果是就,否則執(zhí)行下一次循環(huán)。的二進制表示想右移一位。 1.問題描述 輸入一個整數(shù),輸出該數(shù)二進制表示中1的個數(shù)。其中負數(shù)用補碼表示。 2.思路 方法1:將二進制變成字符數(shù)組,遍歷數(shù)組統(tǒng)計1的個數(shù),這...
摘要:劍指在一個二維數(shù)組中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。例如輸入前序遍歷序列和中序遍歷序列,則重建二叉樹并返回。其中負數(shù)用補碼表示。 本文為8月牛客網(wǎng)《劍指 offer》刷題做得,現(xiàn)整理出來作為參考。雖然是算法題,但本文用 JavaScript 編寫,看了《劍指 offer》以后發(fā)現(xiàn)很多問題處理的過程并不是最好的,所以本文僅供參考。以前全部代碼 A...
閱讀 3565·2021-09-24 09:48
閱讀 1087·2021-09-10 10:51
閱讀 3268·2019-08-30 13:03
閱讀 3315·2019-08-30 12:51
閱讀 1388·2019-08-30 11:22
閱讀 1052·2019-08-29 18:38
閱讀 2035·2019-08-29 16:41
閱讀 3183·2019-08-29 15:32