|
1 | 1 | class Solution {
|
| 2 | + /*** |
| 3 | + * 12345678910111213 |
| 4 | + * 规律个位数9个数一共有9*1,两位数90个数 一共有90*2个数字,三位数有900个数一共有900*3个数字,以此类推 |
| 5 | + * 举例15,15-9=6,6/2=3...0,余数是0,那么这个数值value=10*(2-1)+(3-1)=12,整除取最后一位 12%10=2 |
| 6 | + * 举例14,14-9=5,5/2=2...1,余数不为0,那么这个数值value=10*(2-1)+2=12,则为这个数的第余数个 12/(10*(2-1))%10=1 |
| 7 | + */ |
2 | 8 | public int findNthDigit(int n) {
|
3 | | - /*** |
4 | | - * 12345678910111213 |
5 | | - * 规律个位数9个数一共有9*1,两位数90个数 一共有90*2个数字,三位数有900个数一共有900*3个数字,以此类推 |
6 | | - * 举例15,15-9=6,6/2=3...0,余数是0,那么这个数值value=10*(2-1)+(3-1)=12,整除取最后一位 12%10=2 |
7 | | - * 举例14,14-9=5,5/2=2...1,余数不为0,那么这个数值value=10*(2-1)+2=12,则为这个数的第余数个 12/(10*(2-1))%10=1 |
8 | | - */ |
9 | 9 | long max = 9;
|
10 | 10 | long num = n;
|
11 | 11 | long digits = 1;
|
|
0 commit comments