题解 | #数字序列中某一位的数字#

数字序列中某一位的数字

https://www.nowcoder.com/practice/29311ff7404d44e0b07077f4201418f5

// 居然做了一天 各种小错误 最后静下来慢慢调试过的
class Solution{
public:
    int findNthDigit(int n) {
        if(n==0) return 0;

        int res = n;
        int digit = 1;
        long bound = 0;
        while(1){
            bound = 9*pow(10, digit-1)*(digit);
            if(res > bound){
                res = res - bound; // res是去掉前面固定的以后的剩下的数字量
                digit++;
            }
            else break;
        }
        int nums = res/(digit) ;  // 除以当前的位数  得到数字的个数
        int prev = (digit>1) ? pow(10, digit-1) + nums : nums;  // bound+数字个数

        res = res % digit;
        int cur = (res>0) ? prev + 1 : prev;  // 得到当前的数字
          
        string result = to_string(cur);
        if(res>0) return result[res-1]-'0';
        else return result.back()-'0';
    }
};

全部评论

相关推荐

我看标题以为40W,我觉得最差也得40k,点进去一看40块。你永远想不到客户的预算有多低... 要求“前端使用vue+element开发一个pc端宠物网站和vue+vant开发一个移动端网站,类型是宠物网站的。客户预算40” 全网最受欢迎的嵌入式面经面经一共32篇文章,12w+字数,包含全部最新的面试必问考点,4.7w+同学学习,2800+订阅,非常适合在找工作面经薄弱的同学,3000+订阅还会涨价,提前订阅提前享受,持续更新中。原帖链接:https://www.nowcoder.com/creation/manager/columnDetail/MJNwoMc
野猪不是猪🐗:哎呀,看来这位客户预算确实挺让人意外的呢!不过,别灰心,有时候客户的预算有限,但项目完成后说不定能带来意想不到的收获呢!😊 至于你提到的嵌入式面经,听起来好像很棒的样子!如果你对求职有帮助,那确实值得订阅学习哦!悄悄告诉你,点击我的头像,我们可以私信聊聊更多求职经验和技巧哦~🎉 对了,你对Vue和Element/Vant的开发有什么疑问或者想要分享的经验吗?我们可以一起探讨一下~😉
点赞 评论 收藏
分享
Aaso:挺好的,早挂早超生
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务