LeetCode 263. 丑数 264. 丑数 II(DP)
文章目录
- 1. LeetCode 263. 丑数
- 解题
- 2. LeetCode 264. 丑数 II
- DP解题
1. LeetCode 263. 丑数
编写一个程序判断给定的数是否为丑数。
丑数就是只包含质因数 2, 3, 5 的正整数。
示例 1:
输入: 6
输出: true
解释: 6 = 2 × 3示例 2:
输入: 8
输出: true
解释: 8 = 2 × 2 × 2示例 3:
输入: 14
输出: false
解释: 14 不是丑数,因为它包含了另外一个质因数 7。
说明:
1 是丑数。
输入不会超过 32 位有符号整数的范围: [−2^31, 2^31 − 1]。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/ugly-number
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
解题
- 类似题目:
LeetCode 1201. 丑数 III(最小公倍数+二分查找)
程序员面试金典 - 面试题 17.09. 第 k 个数(set优先队列/DP)
LeetCode 313. 超级丑数(动态规划)
LeetCode 878. 第 N 个神奇数字(二分查找)
class Solution {public:bool isUgly(int num) {if(num < 0)return false;int n;while(num != 1){n = num;//记录原数if(num%2 == 0)num /= 2;if(num%3 == 0)num /= 3;if(num%5 == 0)num /= 5;if(n == num) //操作下来,数没变return false;}return true;}
};
2. LeetCode 264. 丑数 II
编写一个程序,找出第 n 个丑数。
丑数就是只包含质因数 2, 3, 5 的正整数。
示例:
输入: n = 10
输出: 12
解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。
说明:
1 是丑数。
n 不超过1690。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/ugly-number-ii
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
DP解题
- 类似题目:程序员面试金典 - 面试题 17.09. 第 k 个数(set优先队列/DP)
- 参考别人的解法
- 每次将前面的所有数乘以 k ( 2,3,5 ),取比前一个丑数 Ui-1 大,且最小的
- 但是不必遍历前面所有数,因为 前面有一个丑数 Ux* k <= Ui-1 ,x++,那么前面式子不成立的时候,下标 x 就是下次 乘以 k 的丑数位置
class Solution {public:int nthUglyNumber(int n) {int dp[n+1] = {0};dp[1] = 1;int i2=1, i3=1, i5=1;for(int i = 2; i <= n; i++){dp[i] = min(dp[i2]*2, min(dp[i3]*3, dp[i5]*5));if(dp[i2]*2 == dp[i])i2++;if(dp[i3]*3 == dp[i])i3++;if(dp[i5]*5 == dp[i])i5++;}return dp[n];}
};
- 优先队列
class Solution {public:int nthUglyNumber(int n) {set<long> s;s.insert(1);int count = 0;long tp;while(count != n){count++;tp = *s.begin();s.erase(s.begin());s.insert(tp*2);s.insert(tp*3);s.insert(tp*5);}return tp;}
};
LeetCode 263. 丑数 264. 丑数 II(DP)相关推荐
- 【LeetCode】263.丑数 264. 丑数 II
I. 263. 丑数(是否为丑数) 一.题目描述 编写一个程序判断给定的数是否为丑数. 丑数就是只包含质因数 2, 3, 5 的正整数. 示例 1: 输入: 6 输出: true 解释: 6 = 2 ...
- leetcode 263, 264, 1201, 313. Ugly Number I, II, III, Super Ugly Number(leetcode 丑数问题合集)
263. Ugly Number https://leetcode.com/problems/ugly-number/ 本题题解由下面的 264. Ugly Number II 改造而来,所以效率会比 ...
- leetcode - 264. 丑数 II
264. 丑数 II -------------------------------------------- 编写一个程序,找出第 n 个丑数. 丑数就是只包含质因数 2, 3, 5 的正整数. 示 ...
- LeetCode 264. 丑数 II
264. 丑数 II Ideas 竟然没想到用小根堆,白学了,再把小根堆抄一遍. Code Python class Solution:def nthUglyNumber(self, n: int) ...
- 86. Leetcode 264. 丑数 II (动态规划-基础题)
给你一个整数 n ,请你找出并返回第 n 个 丑数 .丑数 就是只包含质因数 2.3 和/或 5 的正整数.示例 1:输入:n = 10 输出:12 解释:[1, 2, 3, 4, 5, 6, 8, ...
- 78. Leetcode 264. 丑数 II (堆-技巧二-多路归并)
给你一个整数 n ,请你找出并返回第 n 个 丑数 .丑数 就是只包含质因数 2.3 和/或 5 的正整数.示例 1:输入:n = 10 输出:12 解释:[1, 2, 3, 4, 5, 6, 8, ...
- leetcode 264. 丑数 II(堆)
给你一个整数 n ,请你找出并返回第 n 个 丑数 . 丑数 就是只包含质因数 2.3 和/或 5 的正整数. 示例 1: 输入:n = 10 输出:12 解释:[1, 2, 3, 4, 5, 6, ...
- LeetCode 264.丑数 II(动态规划)
题目描述 编写一个程序,找出第 n 个丑数. 丑数就是只包含质因数 2, 3, 5 的正整数. 示例: 输入: n = 10 输出: 12 解释: 1, 2, 3, 4, 5, 6, 8, 9, 10 ...
- LeetCode 264. 丑数 II--动态规划
丑数 II 编写一个程序,找出第 n 个丑数. 丑数就是质因数只包含 2, 3, 5 的正整数. 示例: 输入: n = 10 输出: 12 解释: 1, 2, 3, 4, 5, 6, 8, 9, 1 ...
最新文章
- LUA C 交互 cocos
- 用sqlplus为oracle创建用户和表空间
- 服务器运行环境怎么搭建,服务器运行环境怎么快速搭建?
- java 矩阵题目_java练习本(20190604)
- python3.7安装包多大_python3.7 pip 安装第三方包
- IDaaS企业身份管理训练营火热报名中 体验新一代企业云身份服务
- iphone降级_ios14.2怎么降级到14.1 ios14.2耗电严重吗[多图]-热门资讯
- 【渝粤教育】国家开放大学2019年春季 3717天然气管道长输技术 参考试题
- MQTT客户端库-Paho GO
- cocos 制作动态生成内容的列表_零代码工具,让你在线轻松制作交互内容!
- 上科大、腾讯提出Liquid Warping GAN,实现人体动作迁移的新高度!
- 第6章 数据库索引优化
- 最全面的MySQL面试题大全-二
- 浅析SQL SERVER执行计划中的各类怪相
- Android SQLite用sql语句进行增删改查
- 服装进销存软件排名前十名,最新门店进销存测评现已出排行榜
- e320/t420/w520等 qm67/hm65/hm67等 6系芯片组更新BIOS以安装三代酷睿cpu提升性能的想法
- 量化经济学:手把手教你如何使用EXCEL分析股票历史数据
- 浅谈Md5+Salt加密
- Promise.all等待方法执行完毕再执行
热门文章
- ModuleNotFoundError: No module named '_ctypes' ERROR:Command errored out with exit status 1: python
- 【数字图像处理】傅里叶变换在图像处理中的应用
- linux select shell,linux之shell编程select和case用法
- android代码导入有错误,android新项目导入后进行编译出现cmake错误
- html如何制作滑块,网页制作html5实现滑块功能之type=quot;rangequot;属性-建站-建站教程-建站方法-米云建站 - 米云问答...
- html:web前端开发规范
- 微信公众号--相关资料
- Sub-process /usr/bin/dpkg returned an error code (1)解决办法
- A Simple Note on P4FPGA: A Rapid Prototyping Framework for P4
- js 日期天数相加减,格式化yyyy-MM-dd