题解 | #数字序列中某一位的数字#
数字序列中某一位的数字
https://www.nowcoder.com/practice/29311ff7404d44e0b07077f4201418f5
#include <string> class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 * @return int整型 */ int findNthDigit(int n) { //记录n进入的是几位数的区间 int dight=1; //记录区间的起始数字 long long start=1; //记录区间一共有多少位数字 long long sum=9; //将n定位在某个数的区间中 while(n>sum) { n-=sum; start*=10; dight++; //该区间的总位数 sum=9*start*dight; } //定位在哪一位数字上 string num=to_string(start+(n-1)/dight); //定位在数字哪一位上 int index = (n-1)%dight; return (int)(num[index]-'0'); } };