给你一个整数n,请你找出并返回第n丑数

丑数就是只包含质因数23和/或5的正整数。

示例 1:

输入:n = 10
输出:12
解释:[1, 2, 3, 4, 5, 6, 8, 9, 10, 12] 是由前 10 个丑数组成的序列。

示例 2:

输入:n = 1
输出:1
解释:1 通常被视为丑数。

提示:

  • 1 <= n <= 1690

1.多指针
Python解答:

class Solution:
    def nthUglyNumber(self, n: int) -> int:
        value = [1]
        i, j , k = 0, 0, 0
        for _ in range(n-1):
            v1 = value[i] * 2
            v2 = value[j] * 3
            v3 = value[k] * 5
            min_value = min(v1, v2, v3)
            value.append(min_value)
            if v1 == min_value:
                i += 1
            if  v2 == min_value:
                j += 1
            if v3 == min_value:
                k += 1
        return value[-1]
最后修改日期: 2021年9月3日

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。