题解 | #丑数#

丑数

https://www.nowcoder.com/practice/6aa9e04fc3794f68acf8778237ba065b

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param index int整型 
# @return int整型
#
class Solution:
    def GetUglyNumber_Solution(self , index: int) -> int:
        if not index:
            return 0
 
        # 结果列表
        res_list = [1]
 
        # 思路:不断添加最小的进来:三个候选者(2,3,5)分别乘上列表的(i, j, k)位置
        # 初始位置都是0,谁最小,谁添加,并更新对应的i, j, k
        i, j, k = 0, 0, 0
 
        while index - 1:
            a, b, c = 2 * res_list[i], 3 * res_list[j], 5 * res_list[k]
            # 添加最小的
            res_list.append(min(a, b, c))
            # 谁最小,谁更新
            if a == min(a, b, c):
                i += 1
            if b == min(a, b, c):
                j += 1
            if c == min(a, b, c):
                k += 1
            index -= 1
             
        # 返回表尾即可
        return res_list[-1]

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-10 12:10
点赞 评论 收藏
分享
07-11 13:16
湖南工学院 Java
坚定的芭乐反对画饼_...:谁也不知道,毕竟现在的互联网和十年前已经完全不同了,谁都无法预测未来
点赞 评论 收藏
分享
06-07 19:59
门头沟学院 C++
补药卡我啊😭:都快15年前的了还在11新特性
你的简历改到第几版了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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