leetcode丑数II计算第n个丑数
给你一个整数 n ,请你找出并返回第 n 个 丑数 。
丑数 就是质因子只包含 2、3 和 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开始计算:
class Solution:def nthUglyNumber(self, n: int) -> int:res = [1,1]n1=1n2=1n3=1for i in range(1,n):num1 = res[n1] *2num2 = res[n2] *3num3 = res[n3] * 5temp = min(num1, num2, num3)res.append(temp)if temp == num1:n1 = n1 + 1if temp == num2:n2 = n2 +1if temp == num3:n3 = n3 +1return res[n]
如果从0开始算
class Solution:def nthUglyNumber(self, n: int) -> int:res = [1]n1=0n2=0n3=0for i in range(1,n):num1 = res[n1] *2num2 = res[n2] *3num3 = res[n3] * 5temp = min(num1, num2, num3)res.append(temp)if temp == num1:n1 = n1 + 1if temp == num2:n2 = n2 +1if temp == num3:n3 = n3 +1return res[-1]