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

数字序列中某一位的数字

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

#include <string>
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param n int整型 
     * @return int整型
     */
    int findNthDigit(int n) {
        // write code here
        int digit = 1;
        long start = 1;
        long sum = 9;

        while (n > sum) {
            n -= sum;
            start *=10;
            digit ++;

            sum = 9 * start * digit;
        }

        int num = start + (n-1)/digit;

        int index = (n-1) % digit;

        return to_string(num)[index] - '0';
    }
};

先 mark

note_coding 文章被收录于专栏

记录自己的解题思路, 欢迎评价

全部评论

相关推荐

10-21 00:37
已编辑
山东大学 C++
小浪_Coding:你问别人,本来就是有求于人,别人肯定没有义务免费回答你丫, 有点流量每天私信可能都十几,几十条的,大家都有工作和自己的事情, 付费也是正常的, 就像你请别人搭把手, 总得给人家买瓶水喝吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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