leetcode:数学: Super Ugly Number(313)

原创 2016年08月30日 15:55:04

Write a program to find the nth super ugly number.

Super ugly numbers are positive numbers whose all prime factors are in the given prime list primes of size k. For example, [1, 2, 4, 7, 8, 13, 14, 16, 19, 26, 28, 32] is the sequence of the first 12 super ugly numbers given primes = [2, 7, 13, 19] of size 4.

Note:
(1) 1 is a super ugly number for any given primes.
(2) The given numbers in primes are in ascending order.
(3) 0 < k ≤ 100, 0 < n ≤ 106, 0 < primes[i] < 1000.


class Solution {
public:
    int nthSuperUglyNumber(int n, vector<int>& primes) {
        vector<int> res(1, 1), idx(primes.size(), 0);
        while (res.size() < n) {
            vector<int> tmp;
            int mn = INT_MAX;
            for (int i = 0; i < primes.size(); ++i) {
                tmp.push_back(res[idx[i]] * primes[i]);
            }
            for (int i = 0; i < primes.size(); ++i) {
                mn = min(mn, tmp[i]);
            }
            for (int i = 0; i < primes.size(); ++i) {
                if (mn == tmp[i]) ++idx[i];
            }
            res.push_back(mn);
        }
        return res.back();
    }
};
版权声明:本文为博主原创文章,未经博主允许不得转载。

LeetCode-313. Super Ugly Number (JAVA)超级丑数

LeetCode-313. Super Ugly Number (JAVA)超级丑数
  • mine_song
  • mine_song
  • 2017年04月29日 23:51
  • 530

LeetCode 313. Super Ugly Number

思路利用ugly,pointer,prime三个数组存储当前找到的所有ugly,同时存储下次可能是最小的数: 算法实现public int nthSuperUglyNumber(int n, i...
  • zly9923218
  • zly9923218
  • 2016年03月29日 23:24
  • 1684

[LeetCode 313] Super Ugly Number

Write a program to find the nth super ugly number. Super ugly numbers are positive numbers whose ...
  • sbitswc
  • sbitswc
  • 2015年12月28日 11:18
  • 2071

[Leetcode] #313 Super Ugly Number

DiscriptionWrite a program to find the nth super ugly number.Super ugly numbers are positive numbers...
  • qq_34264472
  • qq_34264472
  • 2017年05月07日 16:20
  • 112

leetcode 313 : Super Ugly Number

1、原题如下: Write a program to find the nth super ugly number. Super ugly numbers are positive nu...
  • l3368bcttqnqn
  • l3368bcttqnqn
  • 2015年12月07日 12:03
  • 484

LeetCode[313] Super Ugly Number

Write a program to find the nth super ugly number.Super ugly numbers are positive numbers whose all ...
  • wrsophia_977
  • wrsophia_977
  • 2016年08月10日 09:20
  • 231

LeetCode 313 Super Ugly Number

Write a program to find the nth super ugly number. Super ugly numbers are positive numbers whose ...
  • niuooniuoo
  • niuooniuoo
  • 2016年04月20日 18:06
  • 162

[Leetcode 264] Ugly Number II

Write a program to find the n-th ugly number. Ugly numbers are positive numbers whose prime facto...
  • sbitswc
  • sbitswc
  • 2015年09月02日 00:23
  • 2226

[Leetcode-263] Ugly Number(丑陋数)

【分析】思路:根据丑陋数的定义,我们将给定数除以2、3、5,直到无法整除,也就是除以2、3、5的余数不再为0时停止。这时如果得到1,说明是所有因子都是2或3或5,如果不是1,则不是丑陋数。...
  • xy010902100449
  • xy010902100449
  • 2015年09月05日 10:57
  • 2162

leetcode 263: Ugly Number

Ugly Number Total Accepted: 1849 Total Submissions: 5482 Write a program to check whether a giv...
  • xudli
  • xudli
  • 2015年08月19日 20:17
  • 5265
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:leetcode:数学: Super Ugly Number(313)
举报原因:
原因补充:

(最多只允许输入30个字)