LintCode #4. 丑数 II

LintCode #4. 丑数 II

[问题地址]:https://www.lintcode.com/problem/ugly-number-ii/description

解法一:

class Solution:
    """
    @param n: An integer
    @return: the nth prime number as description.
    """
    def nthUglyNumber(self, n):
        # write your code here
        import heapq
        hea = [1]
        sex = [2,3,5]
        for i in range(n):
            x = heapq.heappop(hea)
            for j in range(3):
                if x*sex[j] not in hea:
                    heapq.heappush(hea,x*sex[j])
        return x

说明:堆排序的相关知识,python中已经实现在heapq.py中,可以很方便地维护一个堆。优点在于时刻有序,先进先出。其中,hea[]与sex[],两个列表的设置很巧妙。

你可能感兴趣的:(学习笔记,LintCode)