LeetCode 313. Super Ugly Number

public class Solution {
    public int nthSuperUglyNumber(int n, int[] primes) {
        int[] nums = new int[n];
        int l = primes.length;
		int[] indices = new int[l];
        for (int i = 0; i < l; i++) indices[i] = 0;
        nums[0] = 1;
        for (int i = 1; i < n; i++) {
        	nums[i] = Integer.MAX_VALUE;
        	for (int j = 0; j < l; j++) nums[i] = Integer.min(nums[i], nums[indices[j]] * primes[j]);
        	for (int j = 0; j < l; j++) if (nums[i] == nums[indices[j]] * primes[j]) indices[j]++;
        }
        return nums[n - 1];
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章