首页 > 代码库 > leetcode 264. Ugly Number II
leetcode 264. Ugly Number II
leetcode 264. Ugly Number II
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, and n does not exceed 1690.
三个list分别记录2的倍数,3的倍数,5的倍数,每次挑选出一个数以后就把他的2倍,3倍,5倍加入相应list
public class Solution { public int nthUglyNumber(int n) { if (n==0)return 0; int res=0; List<Integer> a = new LinkedList<Integer>(); List<Integer> b = new LinkedList<Integer>(); List<Integer> c = new LinkedList<Integer>(); a.add(1); b.add(1); c.add(1); for (int i=0;i<n;i++){ res=Math.min(a.get(0),Math.min(b.get(0),c.get(0))); if (res==a.get(0)){ a.remove(0); } if (res==b.get(0)){ b.remove(0); } if (res==c.get(0)){ c.remove(0); } a.add(res*2); b.add(res*3); c.add(res*5); } return res; } }
leetcode 264. Ugly Number II
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。