264丑数II

Posted xxswkl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了264丑数II相关的知识,希望对你有一定的参考价值。

题目:

来源:

法一:自己的超时代码

思路:从2开始由小到大遍历判断每一个数是否为丑数,由于到后面丑数越来越稀疏,导致非常费时间.

技术图片
class Solution:
    def nthUglyNumber(self, n: int) -> int:
        if n == 1:
            return 1
        ans = [1]
        k = 2
        while len(ans) < n:
            for j in [2,3,5]:
                # 如果除以2 3 5中的某个数可以除尽,则判断商是否在之前的数中
                # 如果在说明是丑数,否则不是
                if k % j == 0:
                    if int(k/j) in ans:
                        ans.append(k)
                        break
            k += 1
        return ans[-1]
View Code

法二:别人代码   利用三指针

 

以上是关于264丑数II的主要内容,如果未能解决你的问题,请参考以下文章

264丑数II

LeetCode(算法)- 264. 丑数 II

LeetCode(算法)- 264. 丑数 II

Leetcode 264.丑数II

[M思维] lc264. 丑数 II(多路归并+STL堆)

LeetCode——264. 丑数 II