难度:中等
题目描述:
给你一个整数 n ,请你找出并返回第 n 个 丑数 。
丑数 就是只包含质因数 2、3 和/或 5 的正整数。
示例 1:
输入:n = 10
输出:12
解释:[1, 2, 3, 4, 5, 6, 8, 9, 10, 12] 是由前 10 个丑数组成的序列。
示例 2:
输入:n = 1
输出:1
解释:1 通常被视为丑数。
提示:
1 <= n <= 1690
class Solution {
public:
int nthUglyNumber(int n) {
set<long> num;
long tmp=1;
for(int i=1;i<n;i++){
num.insert(tmp*2);
num.insert(tmp*3);
num.insert(tmp*5);
tmp=*num.begin();
num.erase(tmp);
}
return tmp;
}
};