国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

劍指offer: 整數(shù)中1出現(xiàn)的次數(shù)(從1到n整數(shù)中1出現(xiàn)的次數(shù))

forsigner / 2744人閱讀

摘要:問題描述求出的整數(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

相關文章

  • 劍指offer算法題(PHP版)

    摘要:二維數(shù)組中的查找在一個二維數(shù)組中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。解法有兩種,一種是遞歸法,一種是迭代法但是遞歸法計算的時間復雜度是以的指數(shù)的方式遞增的,如果面試中千萬不要用遞歸法,一定要用迭代法。 二維數(shù)組中的查找 在一個二維數(shù)組中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函數(shù),輸入這樣的一個二維數(shù)組和...

    big_cat 評論0 收藏0
  • 劍指offer:二進制1個數(shù)(Java)

    摘要:問題描述輸入一個整數(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ù),這...

    lifesimple 評論0 收藏0
  • 劍指offer--JavaScript版

    摘要:劍指在一個二維數(shù)組中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。例如輸入前序遍歷序列和中序遍歷序列,則重建二叉樹并返回。其中負數(shù)用補碼表示。 本文為8月牛客網(wǎng)《劍指 offer》刷題做得,現(xiàn)整理出來作為參考。雖然是算法題,但本文用 JavaScript 編寫,看了《劍指 offer》以后發(fā)現(xiàn)很多問題處理的過程并不是最好的,所以本文僅供參考。以前全部代碼 A...

    MarvinZhang 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<