2021-06-23Leetcode264.丑数
1.1我对题目理解
1)不明白为什么1也算是一个符合条件的数字?
搜索到的百度的结果是:1没有质因子
2)求质因数分解后为2,3,5的数字,后面的数字可以由前面的数字相乘2,3,5得到,难点在于排序。
1.2他人的解法,动态规划
每一个数字可由前面的某个数字乘上2、3、5可得,
X(n+1) = min( x(a) * 2 , x(b) * 3 , x© * 5),表示取得最小的意思
被选中的数字要进行移动和更新
如何移动和更新呢?更新成为谁呢?
更新成为下一个数字,在上面的表达式子中,被选中的数字进行更新
如何得是上一次是谁更新了呢?依次相乘然后比较。
相当于这个序列中的每一个数字依次乘以2、3、5然后排序,最开始应该是同一个数字,
由于要使用这个序列中的每一个数字,所以应该使用数组将每次得到的结果保存起来。
class Solution {public:int nthUglyNumber(int n) {vector<int> dp(n,0);int a = 0, b = 0,c = 0;dp[0] = 1;for(int i = 1;i < n ;i++){dp[i] = min(min(dp[a]*2,dp[b]*3),dp[c]*5);if(dp[i] == dp[a]*2) a++;if(dp[i] == dp[b]*3) b++;if(dp[i] == dp[c]*5) c++;}return dp[n-1];}
};
2021-06-23Leetcode264.丑数相关推荐
- 剑指offer:丑数
题目描述 把只包含质因子2.3和5的数称作丑数(Ugly Number).例如6.8都是丑数,但14不是,因为它包含质因子7. 习惯上我们把1当做是第一个丑数.求按从小到大的顺序的第N个丑数. 解题思 ...
- 剑指offer:把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。
问题:把只包含质因子2.3和5的数称作丑数(Ugly Number).例如6.8都是丑数,但14不是,因为它包含质因子7. 习惯上我们把1当做是第一个丑数.求按从小到大的顺序的第N个丑数. 通俗易懂的 ...
- 数据结构与算法--丑数
找出排在第n位大的丑数 丑数:我们将只包含质因子 2,3,5的数称为丑数(ugly Number).求按从小到大的熟悉怒排列的低1500 个丑数.例如6,8 都是丑数,但是14 不是丑数,因为他包含质 ...
- 2021.06.03合并石子+能量项链
2021.06.03合并石子+能量项链 题目描述 在一个圆形操场的四周摆放 N 堆石子,现要将石子有次序地合并成一堆,规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分. ...
- 2021.06.02税收和补贴问题
2021.06.02税收和补贴问题 (题目来源:洛谷-P1023) 题目描述 每样商品的价格越低,其销量就会相应增大.现已知某种商品的成本及其在若干价位上的销量(产品不会低于成本销售),并假设相邻价位 ...
- usaco ★Humble Numbers 丑数
★Humble Numbers 丑数 对于一给定的素数集合 S = {p1, p2, ..., pK}, 来考虑那些质因数全部属于 S 的数的集合.这个集合包括,p1, p1p2, p1p1, 和 p ...
- 【剑指offer-Java版】34丑数
丑数:返回第N个丑数 只包含因子 2 3 5的数称为丑数,第一个丑数是 1 采用辅助数组的方法,提高时间效率 – 下一个丑数一定是已有的丑数乘以2 或者 3 或者 5 得到的 public class ...
- java丑数算法_LintCode Java算法练习(4)-----丑数II
题目:题目 1 = 2^0 * 3^0 * 5^0 2 = 2^1 * 3^0 * 5^0 3 = 2^0 * 3^1 *5^0 . . . 依次类推,这便是丑数 假设 uglyNumber = 2 ...
- AC日记——丑数 codevs 1246
1246 丑数 USACO 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题解 查看运行结果 题目描述 Description 对于一给定的素数集合 ...
- 【剑指offer】丑数
把只包含因子2.3和5的数称作丑数(Ugly Number).例如6.8都是丑数,但14不是,因为它包含因子7. 习惯上我们把1当做是第一个丑数.求按从小到大的顺序的第N个丑数. leetcode上也 ...
最新文章
- OpenCV数据结构与基本绘图(Mat 类、Point类、Scalar类等)
- Sprint Application bootstrap的研究和调试
- Pycharm 提示:this license * has been cancelled - Python零基础入门教程
- java 内存指针_C指针和内存
- 埃尔米特(Hermite)插值及其MATLAB程序
- python datetime格式_python time和datetime常用写法格式
- hadoop学习使用
- 自动化测试辅助工具——FirePath
- C# 字符串转JSON格式
- 极小曲面壳体的静力学分析(ABAQUS)
- 基于ISIS路由协议的路由聚合
- 修改Java文件不用重启Tomcat服务
- 坚果Pro 电源键失效的处理
- 全向移动机器人运动参数校准
- 第二章 @Entity实例里常用的注解详解
- sublime教程html5,SublimeText开发html网站教程(一)
- wish新店快速出单的方法
- 计算机科学与技术专业导论3500,计算机科学与技术专业导论.docx
- 电信传输_第六章_光纤接入网
- 科技爱好者周刊:第 73 期
热门文章
- python SQLite数据库基本操作
- mysql取模_mysql 取模分表
- IDEA去除Mapper.xml中黄色警报和绿色背景
- 解决“设备和打印机”无法打开这个问题分享
- ac2100 反弹shell无法粘贴_手把手带你玩转NAS 篇二十一:小米Redmi AC2100路由器刷机padavan保姆级教程...
- linux服务器128g内存,如何处理Linux服务器内存过高?
- 【Kevin三连弹之三】Rust真的比C慢吗?进一步分析queen微测评
- Git报错解决:git@gitee.com: Permission denied (publickey).
- skywalking单节点部署
- c++(字符串操作 1)