剑指offer:第N个丑数
当索引小于7都是丑数,返回索引就行,在定义个result的向量,大小为索引,初始化为零,把第一位设为1(第一个丑数为1),将三个整型变量初始化为0,为了以后更新计算出的丑数,for循环,i遍历index,找到三个数中的最小值,再用三个if,这样就可以得到下一个丑数,更新、遍历完,把最小值赋给result向量的第i位(计算出来的第i个丑数),最后返回向量result的最后一个元素即为所求!!!
class Solution{ public: int GetUglyNumber_Solution(int index ){ if(index<7) return index; vector<int> result(index,0); result[0]=1; int indexTwo = 0,indexThree = 0,indexFive =0; for(int i = 1;i<index;++i){ int minNum=min(min(result[indexTwo]*2,result[indexThree]*3),result[indexFive]*5); if(minNum==result[indexTwo]*2) indexTwo++; if(minNum==result[indexThree]*3) indexThree++; if(minNum==result[indexFive]*5) indexFive++; result[i]=minNum; } return result[index-1]; } };#剑指offer##23届找工作求助阵地#