题解 | #整数中1出现的次数(从1到n整数中1出现的次数)#

整数中1出现的次数(从1到n整数中1出现的次数)

http://www.nowcoder.com/practice/bd7f978302044eee894445e244c7eee6

//方法一:
//遍历每一个数,将每个数转换成字符串,判断字符串中含有'1'字符的个数;
class Solution {
public:
    int Count(string s){//写一个计算字符串中'1'的个数
        int num=0;
        for(auto &e:s){
            if(e=='1')
                num++;
        }
        return num;
    }
    int NumberOf1Between1AndN_Solution(int n) {
        int ret=0;
        for(int i=1;i<=n;i++){
            ret+=Count(to_string(i));//将整数转换成字符串的函数
        }
        return ret;

 //方法二:       
 //遍历每个数,将每个数/10判断个位为1,在循环%10直到数为0;      
        /*
        if(n<=0) return 0;
    int ret=0;
    for(int i=1;i<=n;i++){//遍历每个数
        int temp=i;
        while(temp){//循环拆分判断个位是否有1,直到数为0;
            if(temp%10==1)
                ret++;
            temp/=10;
        }
    }
        return ret;
        */
    }
};
全部评论

相关推荐

02-02 20:25
门头沟学院 Java
数学转码崽:八股文也算是前人总结的精华,但是因为全是结果导向,你光背不去理解它背后的深层原理和这样做的原因,反而忽略了程序员最该重视的过程导向。推荐你不会的就去多问ai,比如我当时背的时候,concurrenthashmap底层原理常见八股网站都会讲,但是我不理解为什么它去用synchronize锁节点,为什么不用reentrantlock去锁节点。面试官问我你为什么觉得synchronize在这个场景下性能更好呢?虽然面试官可能也不确定清楚,但是你可以尝试给他解答,让他看见你的思考,这才是最重要的,毕竟你没实习,你的项目你也无法证明是你自己思考的产物,那就在别的地方体现你的能力
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务