* 因为丑数的因子只能是丑数
* 丑数的组成成可以分成三种情况:(x和y为大于1的变量)
* 3x,5y或3x*5y的倍数个2;可简化为丑数个2
* (。。。。。类推)个3;可简化为丑数个3
* (。。。。。类推)个5;可简化为丑数个5
public class Solution {
public int GetUglyNumber_Solution(int index) {
if(index <= 0)
return 0;
int[] result = new int[index];
int count = 0;
int i2 = 0;
int i3 = 0;
int i5 = 0;
result[0] = 1;
int temp = 0;
while(count < index -1){
temp = min(result[i2]*2,min(result[i3]*3,result[i5]*5));
if(temp == result[i2]*2)
i2++;
if(temp == result[i3]*3)
i3++;
if(temp == result[i5]*5)
i5++;
result[++count] = temp;
}
return result[index-1];
}
private int min(int a , int b){
return (a > b) ? b : a;
}
}