丑数 II(LeetCode)

题目

给你一个整数 n ,请你找出并返回第 n丑数

丑数 就是质因子只包含 235 的正整数。

解题

python 复制代码
def nthUglyNumber(n: int) -> int:
    # 初始化 dp 数组
    dp = [0] * n
    dp[0] = 1

    # 初始化三个指针
    p2 = p3 = p5 = 0

    for i in range(1, n):
        # 计算当前三个候选丑数
        next_ugly = min(dp[p2] * 2, dp[p3] * 3, dp[p5] * 5)

        # 更新 dp 数组
        dp[i] = next_ugly

        # 移动指针
        if next_ugly == dp[p2] * 2:
            p2 += 1
        if next_ugly == dp[p3] * 3:
            p3 += 1
        if next_ugly == dp[p5] * 5:
            p5 += 1

    return dp[n - 1]


# 测试代码
n = 10
print(f"The {n}th ugly number is: {nthUglyNumber(n)}")

The 10th ugly number is: 12

相关推荐
databook几秒前
如何灵活设置公式中各个部分的颜色?
python·数学·动效
贾斯汀玛尔斯1 分钟前
每天学一个算法--图算法(Graph Algorithms)
数据结构·算法
埃伊蟹黄面2 分钟前
C++ —— 智能指针
开发语言·c++·算法
hhb_6183 分钟前
Python 工程化开发与性能优化实践
开发语言·python·性能优化
董董灿是个攻城狮3 分钟前
马斯克在用炸火箭的方式训练 AGI。。。
算法
NiKick3 分钟前
Python 爬虫实战案例 - 获取社交平台事件热度并进行影响分析
开发语言·爬虫·python
weixin_458580124 分钟前
php怎么处理跨域请求_php如何设置header解决跨域问题详解
jvm·数据库·python
m0_734949795 分钟前
CSS 背景图片无法加载的常见原因与正确写法详解
jvm·数据库·python
Pentane.7 分钟前
【力扣hot100】【Leetcode 54】螺旋矩阵|边界控制 算法笔记及打卡(19/100)
算法·leetcode·矩阵
黎阳之光7 分钟前
黎阳之光:港口智能体集群,重塑智慧港口新范式
大数据·人工智能·算法·安全·数字孪生