代码实现
class Solution {
public:
int GetUglyNumber_Solution(int index) {
if(index == 0) return 0;
//开辟三个队列
queue<int> q2;
queue<int> q3;
queue<int> q5;
vector<int> arr;
int numNew = 1;
arr.push_back(numNew);
while(arr.size() < index)
{
q2.push(numNew * 2);
q3.push(numNew * 3);
q5.push(numNew * 5);
numNew = min(q2.front(), min(q3.front(), q5.front()));
if(q2.front() == numNew) q2.pop();
if(q3.front() == numNew) q3.pop();
if(q5.front() == numNew) q5.pop();
//最小丑数入丑数队列
arr.push_back(numNew);
}
return arr[arr.size() - 1];
}
};