31. 1~n整數中1出現的次數


layout: post post
title: 31. 1~n整數中1出現的次數
date: 2019-11-16 10:12:17
categories: 劍指offer
mathjax: true
tags:


題目描述

求出113的整數中1出現的次數,並算出1001300的整數中1出現的次數?爲此他特別數了一下1~13中包含1的數字有1、10、11、12、13因此共出現6次,但是對於後面問題他就沒轍了。ACMer希望你們幫幫他,並把問題更加普遍化,可以很快的求出任意非負整數區間中1出現的次數(從1 到 n 中1出現的次數)。

代碼

法1:

時間複雜度:O(nlogn)O(nlog n)

class Solution {
public:
    int NumberOf1Between1AndN_Solution(int n)
    {
        int count=0;
        int i;
        for(int j=1;j<=n;j++)
        {
            i=j;
            for(;i>0;i/=10)
            {
                if(i%10==1)
                    count+=1;
            }
        }
        return count;
    
    }
};

法2:

發佈了268 篇原創文章 · 獲贊 35 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章