首页 > 其他 > 详细

[Algorithm] 3. Digit Counts

时间:2018-11-06 16:10:47      阅读:143      评论:0      收藏:0      [点我收藏+]

Description

Count the number of k‘s between 0 and nk can be 0 - 9.

Example

if n = 12, k = 1 in

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

we have FIVE 1‘s (1, 10, 11, 12)

Answer


    /**
     * @param k: An integer
     * @param n: An integer
     * @return: An integer denote the count of digit k in 1..n
     */
    int digitCounts(int k, int n) {
        // Check every digit from 0 to n.
        int count, temp, i = 0;
        for ( i=0; i<=n; i++ )
        {
            temp = i;
            do
            {
                // Check the ones and tens place respectively for the digits between 10 to 99.
                if ( (temp >= 10) && (temp < 100) ) {
                    if ( (temp/10) == k )   count++;
                    if ( (temp%10) ==k )    count++;
                } else {    // Check the ones place only for other cases.
                    if ( (temp%10) == k )
                        count++;
                }
                
                temp /= 10;
            } while (temp >= 10);
        }

        return count;        
    }

 

 

[Algorithm] 3. Digit Counts

原文:https://www.cnblogs.com/jjlovezz/p/9915780.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!