LeetCode 264. 丑数 II--动态规划
- 丑数 II
编写一个程序,找出第 n 个丑数。
丑数就是质因数只包含 2, 3, 5 的正整数。
示例:
输入: n = 10
输出: 12
解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。
说明:
1 是丑数。
n 不超过1690。
题解:
相关题目请点击:LeetCode算法题目合集
比较有趣的题目,好的,我们先假定前面几个数字都知道为:1、2、3、4、5。那么下一个数字为啥为6呢?因为是前面:1、2、3、4、5中的某一个数字乘2、3、5中的某一个得到的,假设dp[x]为前面的数字,y为2、3、5中某一个,乘的结果为dp[i]=dp[x]*y,那么这个结果dp[i]需要满足大于dp[i-1]同时尽可能小,于是代码如下,比较简单。
AC代码
class Solution {public:long long dp[2000];//乘的过程可能超intint nthUglyNumber(int n) {dp[1]=1;for(int i=2;i<=n;i++){for(int j=i-1;j>=1;j--){if(dp[j]*2>dp[i-1])dp[i]=dp[j]*2;if(dp[j]*3>dp[i-1])dp[i]=min(dp[i],dp[j]*3);if(dp[j]*5>dp[i-1])dp[i]=min(dp[i],dp[j]*5);else break;//优化时间}}return int(dp[n]);}
};
LeetCode 264. 丑数 II--动态规划相关推荐
- 86. Leetcode 264. 丑数 II (动态规划-基础题)
给你一个整数 n ,请你找出并返回第 n 个 丑数 .丑数 就是只包含质因数 2.3 和/或 5 的正整数.示例 1:输入:n = 10 输出:12 解释:[1, 2, 3, 4, 5, 6, 8, ...
- LeetCode 264.丑数 II(动态规划)
题目描述 编写一个程序,找出第 n 个丑数. 丑数就是只包含质因数 2, 3, 5 的正整数. 示例: 输入: n = 10 输出: 12 解释: 1, 2, 3, 4, 5, 6, 8, 9, 10 ...
- leetcode - 264. 丑数 II
264. 丑数 II -------------------------------------------- 编写一个程序,找出第 n 个丑数. 丑数就是只包含质因数 2, 3, 5 的正整数. 示 ...
- LeetCode 264. 丑数 II
264. 丑数 II Ideas 竟然没想到用小根堆,白学了,再把小根堆抄一遍. Code Python class Solution:def nthUglyNumber(self, n: int) ...
- Leetcode 264. 丑数 II 解题思路及C++实现
方法一:暴力解法 解题思路: 直接从整数1开始,不断递增,判断该数字是否为丑数(专门写一个判断是否为丑数的函数),当遇到一个丑数,则计数值加1,直至遇到n个丑数为止. 当n很大时,这种暴力解法会遇到 ...
- 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 263. 丑数 264. 丑数 II(DP)
文章目录 1. LeetCode 263. 丑数 解题 2. LeetCode 264. 丑数 II DP解题 1. LeetCode 263. 丑数 编写一个程序判断给定的数是否为丑数. 丑数就是只 ...
- 693. 交替位二进制数 / 227. 基本计算器 II / 264. 丑数 II
693. 交替位二进制数[简单题][每日一题] 思路:[位运算] 排除特殊情况n=1,此时return true. 将n转为二进制字符串,依次将相邻两位数字进行异或运算. 异或运算的结果为flag,如 ...
- 【LeetCode】263.丑数 264. 丑数 II
I. 263. 丑数(是否为丑数) 一.题目描述 编写一个程序判断给定的数是否为丑数. 丑数就是只包含质因数 2, 3, 5 的正整数. 示例 1: 输入: 6 输出: true 解释: 6 = 2 ...
最新文章
- 10、计算机图形学——几何介绍(曲面的分类以及示例)
- 试题以文件的形式存在C语言,2016年计算机二级C语言上机题库
- apache httpclient 工具类_HttpClient
- Shield——开源的移动端页面模块化开发框架
- 基础学习笔记之opencv(14):随机数发生器绘制文字
- 程序抓取网站数据HttpWebRequest
- HDU2527 Safe Or Unsafe【哈夫曼编码】
- PCWorld:Android游戏业务渐露锋芒
- 60位移动游戏大佬共同发起成立“上方汇”
- 找软件完全安装手册——【19年3月】各行业软件大全\系统安装、系统装机、软件安装、各种完全手册更新中(来自第一设计群)
- 索尼a5100_女生适合的入门微单—索尼a5100,强推。
- Android的Bitmap图片压缩与内存的关系
- 中学生计算机制作大赛,【崇德尚学 和雅金中】热烈祝贺金沙中学在2019年南海区中学生电脑制作活动中硕果累累!...
- 博弈论又称对策论的入门及在军事博弈问题上的简单实战
- Python中定义类方法
- 疲劳测试:perclos
- python入门教程百度云-Python爬虫入门教程 百度云盘下载【传智播客】
- matlab向结构体中的数组自动赋值_matlab之结构体数组struct
- Vue学习【第二篇】:ES6简单介绍
- 我用Python做出真的“字节跳动”!