Offer_ prove safety analysis _ several ugly

Number ugly

Here Insert Picture Description
Analysis of ideas
reference code

# -*- coding:utf-8 -*-
class Solution:
    def GetUglyNumber_Solution(self, index):
        # write code here
        if index == 0:
            return 0
        ugly_num = [1]
        count = 1
        min2, min3, min5 = 0, 0, 0
        while count < index:
            minnum = min(ugly_num[min2]*2, ugly_num[min3]*3, ugly_num[min5]*5)
            ugly_num.append(minnum)
            while ugly_num[min2]*2 <= minnum:
                min2 +=1
            while ugly_num[min3]*3 <= minnum:
                min3 +=1
            while ugly_num[min5]*5 <= minnum:
                min5 +=1
            count += 1
        return ugly_num[-1]
Published 31 original articles · won praise 0 · Views 728

Guess you like

Origin blog.csdn.net/freedomUSTB/article/details/105056397
Recommended