class Solution {
public:
    int NumberOf1Between1AndN_Solution(int n)
    {
        if(n==0) return 0;
        vector<int> number;
        while(n!=0) number.push_back(n),n/=10;
        
        int res=0;
        for(int i=number.size()-1;i>=0;i--)
        {
            int left=0,right=0,t=1;
            for(int j=number.size()-1;j>i;j--) left = left*10+number[j];
            for(int j=i-1;j>=0;j--) right = right*10 + number[j],t*=10;
            res+=left*t;
            if(number[i]==1) res += right + 1;
            else if(number[i]>1) res += t;
        }
        
        return res;
    }
};
2020-05-14
在牛客打卡22天,今天学习:刷题 2 道/代码提交 2 次
全部评论

相关推荐

那一天的Java_J...:他本来公司就是做这个的,不就是正常的游戏客户端和服务器开发,软硬件联动,有啥恶心不恶心的,提前告诉你就是怕你接受不了,接受不了就没必要再往后走流程浪费时间,虽然这公司是一坨。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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