美文网首页
LeetCode-264-丑数 II

LeetCode-264-丑数 II

作者: 阿凯被注册了 | 来源:发表于2020-12-04 22:41 被阅读0次

编写一个程序,找出第 n 个丑数。
丑数就是质因数只包含 2, 3, 5 的正整数。


image.png

解题思路:

  1. 三指针+动态规划;
  2. 让我们从数组中只包含一个丑数数字1开始,使用三个指针i2, i3, i5标记所指向丑数要乘以的因子;
  3. nums[i2]*2, nums[i3]*3, nums[i5]*5三个中,选出最小的丑数并添加到数组中。并将该丑数对应的因子指针往前走一步。重复该步骤直到计算完 n 个丑数。

Python3代码:

class Solution:
    def nthUglyNumber(self, n: int) -> int:
        nums = [1,]
        i2 = i3 = i5 = 0
        for i in range(n):
            ugly = min(nums[i2]*2, nums[i3]*3, nums[i5]*5)
            nums.append(ugly)
            if ugly==2*nums[i2]:
                i2+=1
            if ugly==3*nums[i3]:
                i3+=1
            if ugly==5*nums[i5]:
                i5+=1
        return nums[n-1]

相关文章

  • LeetCode-264-丑数 II

    编写一个程序,找出第 n 个丑数。丑数就是质因数只包含 2, 3, 5 的正整数。image.png 解题思路: ...

  • 丑数II

    题目描述 设计一个算法,找出只含素因子2,3,5 的第 n 大的数。1也是一个丑数。 思路 方法一每个丑数都是2....

  • 丑数 II

    设计一个算法,找出只含素因子2,3,5 的第 n 小的数。 符合条件的数如:1, 2, 3, 4, 5, 6, 8...

  • 丑数 II

    编写一个程序,找出第 n 个丑数。 丑数就是只包含质因数 2, 3, 5 的正整数。 示例: 输入: n = 10...

  • 264-ugly-number-ii

    题目 ugly-number-ii 编写一个程序,找出第 n 个丑数。丑数就是只包含质因数 2, 3, 5 的正整...

  • 丑数II ugly-number-ii

    设计一个算法,找出只含素因子2,3,5 的第 n 小的数。 符合条件的数如:1, 2, 3, 4, 5, 6, 8...

  • 264. 丑数 II

    编写一个程序,找出第 n 个丑数。 丑数就是只包含质因数 2, 3, 5 的正整数。 示例: 输入: n = 10...

  • 4. 丑数 II

    设计一个算法,找出只含素因子2,3,5 的第 n 小的数。符合条件的数如:1, 2, 3, 4, 5, 6, 8,...

  • 264.丑数II

    题目描述 编写一个程序,找出第 n 个丑数。 丑数就是只包含质因数 2, 3, 5 的正整数。 示例: 思路 1....

  • 4. 丑数 II

    设计一个算法,找出只含素因子2,3,5 的第 n 小的数。 符合条件的数如:1, 2, 3, 4, 5, 6, 8...

网友评论

      本文标题:LeetCode-264-丑数 II

      本文链接:https://www.haomeiwen.com/subject/jekwwktx.html