Number of Digit One(Medium)

原创 2015年11月20日 14:53:19

1.算法说明:

如3141592,在m(digitDivide)=100时,即要求计算百位上“1”的个数

其中a为31415,b为92,31415中出现了3142次“1”,因为每10个数里面出现1次“1”。而实际上,31415是3141500,所以把31415中1的个数再乘以m。如3141400~3141499中,前缀为31414的数出现了100次,所以需要乘以m(此时是100)。

class Solution {    
    public:    
    int countDigitOne(int n) {        
    
        int ans=0;
        for(long long digitDivide=1;digitDivide<=n;digitDivide*=10)
        {
            int a=n/digitDivide;
            int b=n%digitDivide;
            ans+=(a+8)/10*digitDivide+(a%10==1)*(b+1);
        }
        return ans;
        
    }};

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

leetcode -- Number of Digit One -- 数学题,找规律

https://leetcode.com/problems/number-of-digit-one/参考http://www.cnblogs.com/grandyang/p/4629032.htmlh...
  • xyqzki
  • xyqzki
  • 2015年12月16日 17:11
  • 252

LeetCode-233.Number of Digit One

https://leetcode.com/problems/number-of-digit-one/ Given an integer n, count the total number o...

LeetCode Algorithms 233. Number of Digit One 题解

题目:Given an integer n, count the total number of digit 1 appearing in all non-negative integers less...

[LeetCode]Number of Digit One,解题报告

题目Given an integer n, count the total number of digit 1 appearing in all non-negative integers less ...

算法Week02.04 - LeetCode 233. Number of Digit One

算法Week02.04 - LeetCode 233. Number of Digit One

【LeetCode-233】Number of Digit One

一看到这道题就想到了动态规划,但是tle了,先看看我的python代码吧! class Solution(object): # 最容易想到的方法了(动态规划),但是tle了 def ...

LeetCode 233. Number of Digit One

原题网址:https://leetcode.com/problems/number-of-digit-one/ Given an integer n, count the total number...
  • jmspan
  • jmspan
  • 2016年04月06日 04:10
  • 244

leetcode 233: Number of Digit One

Given an integer n, count the total number of digit 1 appearing in all non-negative integers less th...

Leetcode OJ | Number of Digit One

先上题: Given an integer n, count the total number of digit 1 appearing in all non-negative integers l...

LeetCode算法题目:Number of Digit One

题目:Number of Digit One Given an integer n, count the total number of digit 1 appearing in all non-...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Number of Digit One(Medium)
举报原因:
原因补充:

(最多只允许输入30个字)