400. 第 N 位数字
给你一个整数 n ,请你在无限的整数序列 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, …] 中找出并返回第 n 位上的数字。
示例 1:
**输入:**n = 3
**输出:**3
示例 2:
**输入:**n = 11
**输出:**0
**解释:**第 11 位数字在序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, … 里是 0 ,它是 10 的一部分。
提示:
1 <= n <= 2(31) - 1
我们可以先找出第n个数字是在几位数中,再找出是第几个数,最后找出是哪一位
一个变量 start 表示从start开始的第n个数字
num表示几位数,maxN表示一共多少个数字,例如一位数共9个,两位数共(99-9)*2
三位数共(999-99)*3个
n每次减去当前num位数的总数字,直到不足maxN
1 | class Solution { |
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.




