笨方法
public static int GetUglyNumber_Solution(int index) {
int count=0;
for(int i=2;i<100;i++)
{
if(isUrlyNumber(i))
{
count++;
if(count==index)
{
return i;
}
}
}
return 0;
}
public static boolean isUrlyNumber(int number)
{
while(number%5==0)
{
number=number/5;
}
while(number%3==0)
{
number=number/3;
}
while(number%2==0)
{
number=number/2;
}
if(number==1)
return true;
else
return false;
}
好方法
import java.util.Vector;
public class Solution {
public int GetUglyNumber_Solution(int index) {
Vector<Integer>vec =new Vector<>(index);
if(index<=0) return 0;
vec.add(1);
int t2=0,t3=0,t5=0;
for(int i=1;i<index;i++)
{
vec.add(i,Math.min(Math.min(vec.get(t2)*2,vec.get(t3)*3),vec.get(t5)*5));
if(vec.get(i)==vec.get(t2)*2) t2++;
if(vec.get(i)==vec.get(t3)*3) t3++;
if(vec.get(i)==vec.get(t5)*5) t5++;
}
return vec.get(index-1);
}
}