233. Number of Digit One

Hard

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

Example:

Input: 13
Output: 6 
Explanation: Digit 1 occurred in the following numbers: 1, 10, 11, 12, 13.

转:https://www.cnblogs.com/xuanxufeng/p/6854105.html

 

class Solution {
    public int countDigitOne(int n) {
        int count = 0;
        for(long m=1;m<=n;m*=10){
            count += (n/m+8)/10*m + ((n/m%10==1)?n%m+1:0);
        }
        return count;
    }
}

 

上一篇:asp.net网站中添加百度地图功能


下一篇:[PAT] A1024 Palindromic Number