题目
寻找第n个丑数。
首先我们维护一个丑数的数组,所有的丑数必然是前面的某个丑数乘以primes数组里的某个数字得来。
所以我们在维护一个primes数组对应的最小丑数数组下标pos,primes[i]*pos[i] 就是未来的某个丑数,按照从小到大一个一个计算。
class Solution {
public:
int pos[105];
int ugly[1000005];
int nthSuperUglyNumber(int n, vector& primes) {
if(primes.size()==0)
return 1;
for(int i=0;iprimes[j]*ugly[pos[j]])
{
m=primes[j]*ugly[pos[j]];
}
}
for(int j=0;j