Leetcode 264. Ugly Number II

文章作者:Tyan
博客:noahsnail.com  |  CSDN  | 

1. Description

Ugly Number II

2. Solution

class Solution {
public:
    int nthUglyNumber(int n) {
        if(n == 1) {
            return 1;
        }
        int ugly[n] = {0};
        ugly[0] = 1;
        int two = 0;
        int three = 0;
        int five = 0;
        for(int i = 1; i < n; i++) {
            ugly[i] = min(min(ugly[two] * 2, ugly[three] * 3), ugly[five] * 5);
            if(ugly[i] == ugly[two] * 2) {
                two++;
            }
            if(ugly[i] == ugly[three] * 3) {
                three++;
            }
            if(ugly[i] == ugly[five] * 5) {
                five++;
            }
        }
        return ugly[n - 1];
    }
};

Reference

  1. https://leetcode.com/problems/ugly-number-ii/description/

你可能感兴趣的:(Leetcode 264. Ugly Number II)