Leetcode400. 第N位数字

Leetcode400. 第N位数字,第1张

Leetcode400. 第N位数字 1. 问题描述

2. 思路
  1. 找到第n位数字属于的整数num
  2. 找到第n位数字在num中的索引index
  3. 解析出num中的第index个数
3. 代码
func findNthDigit(n int) int {
    d := 1
    for count := 9; n > d * count; {
        n = n - count * d
        d++
        count = count * 10
    }
    // 结果为第n + 1个d位数
    num := int(math.Pow(10, float64(d-1))) - 1 + n / d
    index := n % d
    if index == 0 {
        return num % 10
    } else {
        return getNum(num + 1, index, d)
    }
}

func getNum(num int, index int, d int) int {
    num = num / int(math.Pow(10, float64(d - index)))
    return num % 10
}

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/741125.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-04-28
下一篇2022-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存