《剑指offer—面试题43:1~n整数中1出现的次数》

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011296723/article/details/82078980

《剑指offer—面试题43:1~n整数中1出现的次数》
注明:仅个人学习笔记
/**
*
* 从1~n整数中1出现的次数,不考虑时间效率的解法
*
*/
public class NumberOf1Between1AndN43
{
public int NumberOf1Between1AndN_Solution(int n)
{
int number = 0;// 统计总共出现1的次数

    for (int i = 0; i <= n; i++)
    {
        number += NumberOf1(i);

    }
    return number;
}

// 对1-n中的每一个数字,进行1的统计
private int NumberOf1(int n)
{
    int number = 0;// 统计数字n中,出现1的次数

    while (n != 0)
    {
        if (n % 10 == 1)
            number++;

        n = n / 10;
    }

    return number;
}

public static void main(String[] args)
{
    NumberOf1Between1AndN43 n = new NumberOf1Between1AndN43();

    System.out.println(n.NumberOf1Between1AndN_Solution(12));
}

}

———————————————–分割线————————————————
方法二,统计各个位上1出现的次数
转载:
https://blog.csdn.net/yi_afly/article/details/52012593

猜你喜欢

转载自blog.csdn.net/u011296723/article/details/82078980
今日推荐