LeetCode_DP_Ugly Number II
来源:互联网 发布:访客网络影响网速吗 编辑:程序博客网 时间:2024/06/06 21:12
Ugly Number II
一、题目说明
这道题目是输入一个n,要求输出第n个Ugly Number,而Ugly Number就是2,3,5的倍数。
二、解题思路
首先,我们先列出一组等式:
2*1 =2 2*2=4 2*3=6 2*4=8 。。。
3*1 =3 3*2=6 3*3=9 3*4=12 。。。
5*1 =5 5*2=10 5*3=15 5*4=20 。。。
由此我们可以发现,每一行都是对应的2,3,5乘以递增的Ugly Number,此时在 i 位置应该取得值就是这三行第一个的最小值。
所以我们可以采用动归的思路,具体实现可以看代码
三、java代码
public class Solution { public int nthUglyNumber(int n) { int factor2 = 2, factor3 = 3, factor5 = 5; int index1 = 0, index2 = 0, index3 = 0; int[] dp = new int[n]; dp[0] = 1; for(int i=1; i<n; i++) { int min= Math.min(Math.min(factor2,factor3),factor5); dp[i] = min; if(factor2 == min) factor2 = 2 * dp[++index1]; if(factor3 == min) factor3 = 3 * dp[++index2]; if(factor5 == min) factor5 = 5 * dp[++index3]; } return dp[n-1]; }}
0 0
- LeetCode_DP_Ugly Number II
- Single Number & Single Number II
- Single Number & Single Number II
- Ugly Number Ugly Number II
- Single Number II - leetcode
- Leetcode: Single Number II
- Single Number II
- Single Number II
- [LeetCode] Single Number II
- LeetCode: Single Number II
- leetcode -- Single Number II
- LeetCode_Single Number II
- [leetcode]Single Number II
- [LeetCode] Single Number II
- 【leetcode】Single Number II
- Single Number I & II
- LeetCode:Single Number II
- Leetcode: Single Number II
- 25 条提高 iOS App性能的技巧和诀窍
- 使用Bootstrap Tabs选项卡Ajax加载数据的实现以及遇到的问题;
- android自定义exittext和button
- [Leetcode]Search a 2D matrix
- HDU 5071 Chat (2014ICPC鞍山赛区现场赛B题)
- LeetCode_DP_Ugly Number II
- LeetCode_Math_Ugly Number
- LeetCode_DP_Triangle
- Gym 100341C AVL TREE(NTT快速数论变换)
- 基于Java实现的简单且通用的分页实现封装 <Pagiation>
- git 常用命令
- cocos2d3.8升级后狂闪退
- [Leetcode]sort Color
- 谷歌地图的离线地图下载