313. 超级丑数
1 //跟264题差不多 2 class Solution 3 { 4 public: 5 int nthSuperUglyNumber(int n, vector<int>& primes) 6 { 7 vector<int> dp(n); 8 dp[0] = 1; 9 vector<int> pos(primes.size(),0);//每个变量对应的位置 10 for(int i = 1;i < n;i ++) 11 { 12 int min = INT_MAX; 13 for(int j = 0;j < primes.size();j ++)//找到最小值 14 { 15 if(min > primes[j] * dp[pos[j]]) min = primes[j] * dp[pos[j]]; 16 } 17 dp[i] = min; 18 for(int j = 0;j < primes.size();j ++)//找到最小值的位置之后,就++ 19 { 20 if(min == primes[j] * dp[pos[j]]) pos[j] ++; 21 } 22 } 23 return dp[n - 1]; 24 } 25 };
Mamba never out

浙公网安备 33010602011771号