剑指offer(31)1到n中n出现的次数

简单解法。非最优解。第二种方案参见《程序员代码面试指南》p430

 

public class Solution {
    public int NumberOf1Between1AndN_Solution(int n) {
        if(n < 1){
            return 0;
        }
        int count = 0;
        for(int i  = 1;i != n+1;i++){
            count += CountOne(i);
        }
    return count;
    }
    
    public int CountOne(int n){
        int res = 0;
        while(n != 0){
            if(n % 10 == 1){
                res++;
            }
            n = n / 10;
        }
        return res;
    }
}

全部评论

相关推荐

Java转测开第一人:这种就是饼 把应届当廉价劳动力用完然后丢掉
你觉得今年秋招难吗
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
10-04 05:12
kalistar:简历留六个字,北京大学(本科),黑体加粗,看看哪个hr不长眼敢碰瓷我们北大✌
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务