class Solution {
public:
int findNthDigit(int n) {
long start=1; //每个位数最小值
long count=9;
int digit=1;
while(n>count){
n=n-count;
digit++;
start=start*10;
count=9*start*digit;
}
int num=start+(n-1)/digit;
//计算是数字几 如果n=0,那么是上一个数字num-1的最后一位
//如果n=1,正好是num的第一位s[0]
count=(n-1)%digit; //计算是该数字第几位
string s=to_string(num);
int ans=s[count]-'0';
return ans;
}
};
剑指44:数字序列中的某一位数
最新推荐文章于 2024-07-13 19:27:27 发布