思路:看别人才会的
定义一个res【】数组保存的是从小到大的丑数
定义3个指针p1,p2,p3 res[p1] res[p2] res[p3]分别对应*2 *3 *5能得到的最小的数
这3者取最小就是下一位置上的丑数
public int GetUglyNumber_Solution(int index) { if(index==0)return 0; int p1=0,p2=0,p3=0; int[] result = new int[index]; result[0]=1; for(int i=1;i<index;i++){ result[i] = Math.min(result[p1]*2,Math.min(result[p2]*3,result[p3]*5)); if(result[i]==result[p1]*2)p1++; if(result[i]==result[p2]*3)p2++; if(result[i]==result[p3]*5)p3++; } return result[index-1]; }