313.Super Ugly Number

1-Ref 264

class Solution {
    public int nthSuperUglyNumber(int n, int[] primes) {
        int k = primes.length;
        int[] index = new int[k];
        Arrays.fill(index, 1);
        int[] ans = new int[n + 1];
        ans[1] = 1;
        for(int i = 2; i <= n; i++){
            ans[i] = ans[index[0]] * primes[0];
            for(int j = 1; j < k; j++){
                ans[i] = Math.min(ans[i], ans[index[j]] * primes[j]);
            }
            for(int j = 0; j < k; j++){
                if(ans[i] == ans[index[j]] * primes[j])
                    index[j]++;
            }
        }
        return ans[n];
    }
}

results matching ""

    No results matching ""