丑数

丑数_牛客网

https://www.nowcoder.com/practice/6aa9e04fc3794f68acf8778237ba065b?tpId=13&tqId=11186&tPage=2&rp=2&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking

# -*- coding:utf-8 -*-
class Solution:
    def GetUglyNumber_Solution(self, index):
        # write code here
        if index<7:
            return index
        p1,p2,p3 = 0,0,0
        array = [1]
        while len(array)<index:
            newnum = min(array[p1]*2,array[p2]*3,array[p3]*5)
            array.append(newnum)
            if newnum == array[p1]*2:
                p1 += 1
            if newnum == array[p2]*3:
                p2 += 1
            if newnum == array[p3]*5:
                p3 +=1
        return array[-1]
在索引值小于7的时候,前6个丑数为1,2,3,4,5,6,我们设置起始数组为[1],后面的数依次是对于已知的丑数序列,后面的丑数一定是已知序列中的数字乘以2/3/5得到的。对当前序列中的数字乘2/3/5得到的数字中最小的数字才能放入序列。
全部评论

相关推荐

点赞 评论 收藏
分享
专业嗎喽:个人信息名字太大,合到电话邮箱那一栏就行,有党员写过党,剩下其他全删,站空太大了 把实习经历丰富,放最前面,然后是个人评价,技能之类的,然后是学校信息。项目经历最后面,可以就选一个自己擅长的。 现在是学校不是92就扣分的,没必要放前面。 然后现在看重实习经历>竞赛经历(校园经历)>课程项目经历
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务