题解 | #数字序列中某一位的数字#(C++ 版本)

数字序列中某一位的数字

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

class Solution { public:

int findNthDigit(int n) {
    int digCont = 1; //位数
    long long start = 1, count = 9;  // 0~9  10~99 100~999
    while(n > count) {
        n -= count;
        digCont += 1;
        start *= 10;
        count = start * digCont * 9;
    }
    int num = start + (n - 1) / digCont;
    string s = to_string(num);
    int result = s[(n - 1) % digCont] - '0';
    return result;
    
}

};

全部评论

相关推荐

月入泉:假的,要你简历,然后说你简历的不足,让你报班的
点赞 评论 收藏
分享
卡卡罗特ovo:说起云智我就来气,约好了一面,结果面试官没来,ssob上问hr也未读,我还是专门请了半天假在家面试,恶心死了
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

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