**[Lintcode]Ugly Number II 丑数 II
来源:互联网 发布:神经网络算法 编辑:程序博客网 时间:2024/06/05 05:09
Ugly number is a number that only have factors 2
, 3
and 5
.
Design an algorithm to find the nth ugly number. The first 10 ugly numbers are 1, 2, 3, 4, 5, 6, 8, 9, 10, 12...
分析:
(1) 1×2, 2×2, 3×2, 4×2, 5×2, …
(2) 1×3, 2×3, 3×3, 4×3, 5×3, …
(3) 1×5, 2×5, 3×5, 4×5, 5×5, …
分成三组,每次取最小值做丑数,每组使用一个指针。然后被选中的数的指针后移。
class Solution { /** * @param n an integer * @return the nth prime number as description. */ public int nthUglyNumber(int n) { int[] arr = new int[n]; arr[0] = 1; int index = 1; int a = 2, b = 3, c = 5; int indexA = 1, indexB = 1, indexC = 1; for(int i = 1; i < arr.length; i++) { int min = Math.min(Math.min(a, b), c); arr[i] = min; if(a == min) a = arr[indexA++] * 2; if(b == min) b = arr[indexB++] * 3; if(c == min) c = arr[indexC++] * 5; } return arr[arr.length - 1]; }};
0 0
- **[Lintcode]Ugly Number II 丑数 II
- Ugly Number II | Leetcode 丑数II
- 丑数II(Ugly Number II)
- [C++]Ugly Number II丑数2
- 264. Ugly Number II&丑数
- lintcode: Ugly Number II
- 4.Ugly Number II-丑数 II(中等题)
- lintcode-丑数 II
- LeetCode OJ 之 Ugly Number II (丑数-二)
- LeetCode (39) Ugly Number I II (丑数)
- leetcode 264. Ugly Number II-丑数|动态规划
- LeetCode Ugly Number II(丑数的计算)
- LeetCode-263.264. Ugly Number II (JAVA)丑数
- LintCode 4:Ugly Number II
- LintCode 4 丑数II
- LintCode Python 丑数II
- [LintCode]4.丑数 II
- LintCode----4.丑数II
- 用递归实现排列组合
- 1024 Palindromic Number (25)
- position定位
- uCGUI窗口操作要点
- 设计模式之三种工厂模式
- **[Lintcode]Ugly Number II 丑数 II
- NP-完全性理论总结
- C#基础-转义符
- 在VMware 中安装Mac虚拟机
- asp.new 验证码
- HDU 1166(树状数组 单点更新 区域求值)
- 最大数与最小数调换位置
- Angular2(五)--router
- 软件工程——编码阶段