【LeetCode】剑指 Offer 49. 丑数
package offer;
public class Solution49 {
public static void main(String[] args) {
int n = 10;
Solution49 solution = new Solution49();
System.out.println(solution.method(n));
}
private int method(int n){
int a = 0;
int b = 0;
int c = 0;
int[] dp = new int[n];
dp[0] = 1;
dp[1] = 2;
int n2;
int n3;
int n5;
for(int i = 1; i < n; i++){
n2 = dp[a] * 2;
n3 = dp[b] * 3;
n5 = dp[c] * 5;
dp[i] = Math.min(Math.min(n2, n3), n5);
if (dp[i] == n2) a++;
if (dp[i] == n3) b++;
if (dp[i] == n5) c++;
}
return dp[n-1];
}
}