其他分享
首页 > 其他分享> > 264丑数II

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

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

 

标签:费时间,丑数,return,int,代码,264,II,ans
来源: https://www.cnblogs.com/xxswkl/p/12245095.html