public class Solution {
public int GetUglyNumber_Solution(int index) {
if(index<=0) return 0;
int[] uglyNumbers=new int[index];
uglyNumbers[0]=1;
int num=1;
int mutiply2=0,mutiply3=0,mutiply5=0;
while(num<index){
uglyNumbers[num]=min(uglyNumbers[mutiply2]*2,uglyNumbers[mutiply3]*3,uglyNumbers[mutiply5]*5);
if(uglyNumbers[mutiply2]*2==uglyNumbers[num])
mutiply2++;
if(uglyNumbers[mutiply3]*3==uglyNumbers[num])
mutiply3++;
if(uglyNumbers[mutiply5]*5==uglyNumbers[num])
mutiply5++;
num++;
}
return uglyNumbers[index-1];
}
public int min(int n1,int n2,int n3){
int min=(n1<n2)?n1:n2;
min=(min<n3)?min:n3;
return min;
}
}面试题34:丑数
最新推荐文章于 2024-07-20 20:20:46 发布
3645

被折叠的 条评论
为什么被折叠?



