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[],两个列表的设置很巧妙。