package main import ( "strconv" ) /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 * @return int整型 */ func findNthDigit( n int ) int { // write code here // n 是几位数 digit := 1 // 当前位数区间的起始数字 start := 1 // 区间之前总共有多少位数字 sum := 9 for n > sum { n -= sum digit++ start *= 10 sum = 9 * start * digit } // 定位到的数字对应字符串 // (下标从0开始,需要对n减1) // 比如 811 会定位到 100 + ((811-1)/3) = 370 的位置 num := strconv.Itoa(start+(n-1)/digit) // 定位到了哪一位上 index := (n-1)%digit return int(num[index]-'0') }