[leetcode]第 n个丑数

我们把只包含质因子 2、3 和 5 的数称作丑数(Ugly Number)。求按从小到大的顺序的第 n 个丑数。

示例:

输入: n = 10
输出: 12
解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。
1
2
3
说明:

1 是丑数。
n 不超过1690。

class Solution {public int nthUglyNumber(int n) {int[] dp = new int[n + 1];dp[1] = 1;int p2 = 1, p3 = 1, p5 = 1;for (int i = 2; i <= n; i++) {int num2 = dp[p2] * 2, num3 = dp[p3] * 3, num5 = dp[p5] * 5;dp[i] = Math.min(Math.min(num2, num3), num5);if (dp[i] == num2) {p2++;}if (dp[i] == num3) {p3++;}if (dp[i] == num5) {p5++;}}return dp[n];}
}
class Solution {public int nthUglyNumber(int n) {if(n<=0){return 0;}int[] dp = new int[n];dp[0] = 1;int a = 0, b = 0, c = 0;int i = 1;while(i<n){dp[i] = Math.min(Math.min(dp[a]*2, dp[b]*3), dp[c]*5);while(dp[a]*2<=dp[i]){a++;}while(dp[b]*3<=dp[i]){b++;}while(dp[c]*5<=dp[i]){c++;}i++;}return dp[n-1];}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/15626.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++ QT项目实战-03】---- C++ QT系统实现读取JSON文件数据的自动化模式

&#x1f3a9; 欢迎来到技术探索的奇幻世界&#x1f468;‍&#x1f4bb; &#x1f4dc; 个人主页&#xff1a;一伦明悦-CSDN博客 ✍&#x1f3fb; 作者简介&#xff1a;C软件开发、Python机器学习爱好者 &#x1f5e3;️ 互动与支持&#xff1a;&#x1f4ac;评论 &#…

分布式系统

分布式系统是建立在网络之上的软件系统,其主要特点是具有高度的内聚性和透明性。在一个分布式系统中,一组独立的计算机展现给用户的是一个统一的整体。这些系统拥有多种通用的物理和逻辑资源,可以动态地分配任务,分散的物理和逻辑资源通过计算机网络实现信息交换。 分布式…

Flink 窗口

窗口&#xff08;Window&#xff09; 窗口是处理无限流的核心。 窗口将流分割成有限大小的“桶”&#xff0c;我们可以计算窗口中的数据。 窗口程序一般有键控流&#xff08;keyed streams&#xff09;的窗口程序 和 非键控流&#xff08;non-keyed streams&#xff09;的窗口…

Rabbitmq 搭建使用案例 [附源码]

Rabbitmq 搭建使用案例 文章目录 RabbitMQ搭建docker 代码golang生产者消费者 可视化消费进度 RabbitMQ搭建 docker docker run -d --hostname rabbitmq --name rabbitmq -e RABBITMQ_DEFAULT_USERadmin -e RABBITMQ_DEFAULT_PASSadmin -e RABBITMQ_DEFAULT_VHOSTmy_vhost -e…

LeetCode/NowCoder-复杂度OJ练习

无论你觉得自己多么的不幸&#xff0c;永远有人比你更加不幸。&#x1f493;&#x1f493;&#x1f493; 目录 说在前面 题目一&#xff1a;消失的数字 题目二&#xff1a;轮转数组 SUMUP结尾 说在前面 dear朋友们大家好&#xff01;&#x1f496;&#x1f496;&#x1f496…

线性表(从数据结构的三要素出发)

文章目录 逻辑结构存储结构顺序存储链式存储单链表双链表循环单链表循环双链表静态链表 数据的操作顺序结构链式结构单链表双链表 逻辑结构 线性表是具有相同数据类型的 n ( n ≥ 0 ) n(n≥0) n(n≥0)个数据元素的有限序列&#xff0c;其中 n n n为表长&#xff0c;当 n 0 n0…

力扣:777. 在LR字符串中交换相邻字符

777. 在LR字符串中交换相邻字符 在一个由 L , R 和 X 三个字符组成的字符串&#xff08;例如"RXXLRXRXL"&#xff09;中进行移动操作。一次移动操作指用一个 "LX" 替换一个 "XL"&#xff0c;或者用一个 "XR" 替换一个 "RX"…

IT行业已经饱和?2024年报考计算机类专业还有出路吗?

&#x1f446;点击关注 获取更多编程干货&#x1f446; “高薪”光环加持&#xff0c;IT行业一直是不少人心仪的职业选择&#xff0c;计算机专业一度成为最热门的本科专业。 然而&#xff0c;正因报考计算机专业、想要入行IT行业的人越来越多&#xff0c;“行业饱和”、“人才…

NB65 第k轻的牛牛

描述 在农场里&#xff0c;农民们有一群牛&#xff0c;每头牛的体重不同。农民们将所有牛的体重记录在一个数组中。现在农民们想要知道&#xff0c;如果将这些牛的体重从小到大排序&#xff0c;那么第k小的体重是多少。请你编写一个程序&#xff0c;找出数组中第k小的元素。 你…

MySQL(一) 库和表的基础操作

1. 数据库基础 1.1 什么是数据库 存储数据用文件就可以了&#xff0c;为什么还要弄个数据库? 文件保存数据有以下几个缺点&#xff1a; 文件的安全性问题文件不利于数据查询和管理文件不利于存储海量数据文件在程序中控制不方便 数据库存储介质&#xff1a;磁盘内存 为了解…

增强ev代码签名证书2300

代码签名证书是软件开发者们确保软件完整性和安全性的重要工具之一。在各种类型的代码签名证书中&#xff0c;增强EV代码签名证书拥有许多独特的功能而受到企业开发者的欢迎&#xff0c;今天就随SSL盾小编了解增强EV代码签名证书的申请条件以及申请流程。 1.增强型EV代码签名证…

【小程序 按钮 表单 】

按钮 代码演示 xxx.wxml <view class"boss" hover-class"box"hover-start-time"2000"hover-stay-time"5000">测试文本<view hover-stop-propagation"true">子集</view><view>子集2</view>…

Web基础考点

&#xff08;面试准备版&#xff09;基于CTF Wiki的总结和思考 WEB类的题目包括&#xff1a;SQL注入、XSS跨站脚本攻击、CSRF跨站请求伪造、文件上传、框架安全、PHP常见漏洞、代码审计Wiki中没提到的还包括&#xff1a;Java安全、Nodejs原型链污染、XXE、SSRF、逻辑漏洞等&am…

相关服务器介绍

服务器是一种高性能的计算机&#xff0c;它被设计用来为其他计算机或终端设备提供服务&#xff0c;如数据处理、文件存储、网络通信等。服务器通常具有强大的计算能力、大容量的存储空间和高效的网络连接能力。 常见的服务器种类及其特点 文件服务器 文件服务器主要负责中央存储…

Lua常用C Api接口

Lua 5.4 是 Lua 语言的一个版本&#xff0c;它提供了许多 C API 函数&#xff0c;这些函数允许开发者在 C 语言中嵌入和扩展 Lua 的功能。以下是一些常用的 Lua 5.4 C API 函数&#xff0c;以及它们的简单示例&#xff1a; lua_newstate - 创建一个新的 Lua 状态。 lua_State *…

[leetcode]判断是否丑数

在LeetCode上&#xff0c;n丑数问题的描述是&#xff1a; 给你一个整数 n &#xff0c;找出并返回第 n 个 丑数 。 丑数是只包含质因子 2, 3, 5 的正整数。 示例 1: 输入: n 10 输出: 12 解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。 这个问题可以通过迭代来解…

mac docker 安装mysql

在Mac上使用Docker安装MySQL的过程可以分为几个步骤&#xff0c;下面是详细的指南&#xff1a; 步骤1&#xff1a;安装Docker 确保你已经在Mac上安装了Docker。如果还没有安装&#xff0c;你可以访问Docker官网(https://www.docker.com/products/docker-desktop)下载Docker D…

C++知识点总结(34):二分查找

二分 一、二分1. 实例2. 意义 二、程序1. 猜数字-次数.cpp2. 二分查找.cpp3. 二维二分查找.cpp4. 正方体的体积算棱长.cpp 一、二分 1. 实例 在猜数字的游戏中&#xff0c;对方想一个 1 − 100 1-100 1−100 之间的数字&#xff0c;并且对方可以告诉你猜的数字是大了还是小了…

Echarts图表使用

ECharts是一个用JS实现开源可视化库&#xff0c;它提供了丰富的图表类型和交互能力。使用户可以通过简单的配置生成各种各样的图表。 先安装ECharts图表直接下载echarts.min.js并用<script>标签引入也可以使用源代码版本echarts.js并用<script>标签引入&#xff0…