Leetcode 264. Ugly Number II (Medium) (cpp)
来源:互联网 发布:缺德的医生 知乎 编辑:程序博客网 时间:2024/06/03 19:52
Leetcode 264. Ugly Number II (Medium) (cpp)
Tag: Dynamic Programming, Heap, Math
Difficulty: Medium
/*264. Ugly Number II (Medium)Write a program to find the n-th ugly number.Ugly numbers are positive numbers whose prime factors only include 2, 3, 5. For example, 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 is the sequence of the first 10 ugly numbers.Note that 1 is typically treated as an ugly number.Hint:The naive approach is to call isUgly for every number until you reach the nth one. Most numbers are not ugly. Try to focus your effort on generating only the ugly ones.An ugly number must be multiplied by either 2, 3, or 5 from a smaller ugly number.The key is how to maintain the order of the ugly numbers. Try a similar approach of merging from three sorted lists: L1, L2, and L3.Assume you have Uk, the kth ugly number. Then Uk+1 must be Min(L1 * 2, L2 * 3, L3 * 5).*/class Solution {public: int nthUglyNumber(int n) { if (!n) return 0; static vector<int> table(1,1); static int i2 = 0,i3 = 0, i5 =0; int k(table.size()); for (; k < n; k++) { int tmp = min(table[i2] * 2, min(table[i3] * 3, table[i5] * 5)); if (!(tmp % 2)) i2++; if (!(tmp % 3)) i3++; if (!(tmp % 5)) i5++; table.push_back(tmp); } return table[n-1]; }};
0 0
- Leetcode 264. Ugly Number II (Medium) (cpp)
- Leetcode 264. Ugly Number II[medium]
- 264. Ugly Number II -Medium
- [Medium]Ugly Number II
- Leetcode 137. Single Number II (Medium) (cpp)
- [leetcode] 264.Ugly Number II
- 264. Ugly Number II LeetCode
- leetcode 264. Ugly Number II
- [leetcode] 264. Ugly Number II
- leetcode.264. Ugly Number II
- LeetCode 264. Ugly Number II
- 【LeetCode】264. Ugly Number II
- LEETCode 264. Ugly Number II
- [Leetcode]264. Ugly Number II
- [leetcode] 264. Ugly Number II
- leetcode 264. Ugly Number II
- LeetCode 264. Ugly Number II
- [LeetCode] 264. Ugly Number II
- iOS日期推算星期的方法
- Binary Tree Right Side View
- 关于BinderPool Binder连接池的愚见
- tcp参数详解之tcp_fin_timeout
- 基于openssl的AES加解密 android
- Leetcode 264. Ugly Number II (Medium) (cpp)
- tomcat的启动过程(从startup.bat谈起)
- ffmpeg Windows环境搭建
- jump-game(动态规划)
- 关于linux的基本认识
- python查询员工信息表
- Sorting Algorithm-Bubble Sort
- 编程之美读书笔记-数组循环移位
- 用C++实现单例模式