深圳cms建站系统,耐克网站建设的历程,wordpress phpcms比较,机房托管给你一个整数 n #xff0c;请你在无限的整数序列 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, …] 中找出并返回第 n 位上的数字。 我觉得这题是哪以理解的 看这个题解
func findNthDigit(n int) int {digit : 1start : 1count : 9for n count {n - countdigitstart start …给你一个整数 n 请你在无限的整数序列 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, …] 中找出并返回第 n 位上的数字。 我觉得这题是哪以理解的 看这个题解
func findNthDigit(n int) int {digit : 1start : 1count : 9for n count {n - countdigitstart start * 10count 9*start*digit}//找到当前的数是多少num : start (n-1)/digitstrNum : strconv.Itoa(num)//找到当前这个数的下标digitIndex : (n - 1) % digitdigitStr : string(strNum[digitIndex])digitInt, _ : strconv.Atoi(digitStr)return digitInt
}num : base (n-1) / digit这个公式是怎么得出来的 为什么要减一 除digit很好理解 因为这是找到你是第几位数 -1 我的理解是base已经占据了第一位 所以 如果你的n是10的话 不减1 得到的num就是11