丑数 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

相关推荐
我的xiaodoujiao5 分钟前
API 接口自动化测试详细图文教程学习系列20--结合Pytest框架使用
python·学习·测试工具·pytest
python在学ing22 分钟前
前端-CSS学习笔记
前端·css·python·学习
小王C语言32 分钟前
【线程概念与控制】:线程封装
jvm·c++·算法
圣保罗的大教堂36 分钟前
leetcode 796. 旋转字符串 简单
leetcode
kyle~39 分钟前
工程数学---点云配准卡布施(Kabsch)算法(求解最优旋转矩阵)
线性代数·算法·矩阵
张二娃同学1 小时前
03_变量常量与输入输出_printf与scanf详解
算法
IT策士1 小时前
Django 从 0 到 1 打造完整电商平台:为什么用 Django 做电商?
后端·python·django
zkkkkkkkkkkkkk2 小时前
Linux进行管理工具Supervisor配置与使用
linux·python·supervisor
江南十四行2 小时前
并发编程(一)
java·jvm·算法
2301_783848652 小时前
mysql数据库迁移到云平台流程_使用数据传输服务DTS工具
jvm·数据库·python