//主要解决指针移动问题就好了 public class Solution{ public int GetUglyNumber_Solution(int index){ if(index <= 6) return index; int p1 = 0; int p2 = 0; int 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]; } }