leetcode:数学:Ugly Number II(264)

来源:互联网 发布:手机淘宝账号怎么激活 编辑:程序博客网 时间:2024/06/04 18:18

Write a program to find the n-th ugly number.

Ugly numbers are positive numbers whose prime factors only include 2, 3, 5. For example, 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 is the sequence of the first 10 ugly numbers.

Note that 1 is typically treated as an ugly number.


class Solution {public:    int nthUglyNumber(int n) {        vector<int> res(1, 1);        int i2 = 0, i3 = 0, i5 = 0;        while (res.size() < n) {            int m2 = res[i2] * 2, m3 = res[i3] * 3, m5 = res[i5] * 5;            int mn = min(m2, min(m3, m5));            if (mn == m2) ++i2;            if (mn == m3) ++i3;            if (mn == m5) ++i5;            res.push_back(mn);        }        return res.back();    }};
0 0
原创粉丝点击