leetcode:数学:Number of Digit One(233)

原创 2016年08月30日 15:46:24

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

For example:
Given n = 13,
Return 6, because digit 1 occurred in the following numbers: 1, 10, 11, 12, 13.


class Solution {
public:
    int countDigitOne(int n) {
        int res = 0, a = 1, b = 1;
        while (n > 0) {
            res += (n + 8) / 10 * a + (n % 10 == 1) * b;
            b += n % 10 * a;
            a *= 10;
            n /= 10;
        }
        return res;
    }
};
版权声明:本文为博主原创文章,未经博主允许不得转载。

leetcode 233: Number of Digit One

leetcode 233: Number of Digit One java python c++
  • xudli
  • xudli
  • 2015年07月08日 07:53
  • 14280

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...
  • u010129448
  • u010129448
  • 2015年08月01日 14:23
  • 262

LeetCode 233 Number of Digit One

题目描述Given an integer n, count the total number of digit 1 appearing in all non-negative integers les...
  • Yano_nankai
  • Yano_nankai
  • 2015年12月11日 10:32
  • 287

Number of Digit One(leetcode 233)

Number of Digit One
  • wuhuaiyu
  • wuhuaiyu
  • 2015年07月11日 19:56
  • 349

leetcode 233 Number of Digit One

问题:从1到n的整数中1出现的次数Given an integer n, count the total number of digit 1 appearing in all non-negative...
  • hellocooper
  • hellocooper
  • 2015年10月20日 18:13
  • 270

leetcode 233 - Number of Digit One

转载出处 http://www.cnblogs.com/grandyang/p/4629032.html 这篇博客主要是提醒自己下次要弄明白这道题,现在还是不大懂 Given an int...
  • u011732614
  • u011732614
  • 2016年11月28日 21:21
  • 75

Leetcode 233 Number of Digit One

1. 问题描述  给定一个整数n,在所有不大于n的非负整数中,计算包含数字1的整数的个数。例如n=13n = 13的结果为6,包含1的数字有1,10,11,12,13。2. 方法与思路  这个问题最直...
  • Jeanphorn
  • Jeanphorn
  • 2015年07月08日 11:30
  • 4889

[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...
  • sbitswc
  • sbitswc
  • 2015年09月15日 12:50
  • 691

LeetCode(233) Number of Digit One

总的思想是先分类(个位,十位,百位),再对各种情况进行统计(前缀有多少种,后缀有多少种,并利用相乘原理)。 以3141592为例,数字1出现在个位,十位,百位,千位,万等等。 下面开始对各种情况进...
  • guanzhongshan
  • guanzhongshan
  • 2015年08月28日 10:58
  • 283

LeetCode #233: Number of Digit One

Problem StatementGiven an integer n, count the total number of digit 1 appearing in all non-negative...
  • junchen1992
  • junchen1992
  • 2016年09月02日 20:01
  • 150
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:leetcode:数学:Number of Digit One(233)
举报原因:
原因补充:

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