264. Ugly Number II

来源:互联网 发布:php curl keepalive 编辑:程序博客网 时间:2024/05/29 08:48

简单题,一次AC

class Solution {public:    int nthUglyNumber(int n) {        std::priority_queue<int, std::vector<int>, std::greater<int>> uglyNum;        uglyNum.push(1);        while(--n)        {            int top=uglyNum.top();            if(INT_MAX/top>=2)                uglyNum.push(2*top);            else                uglyNum.push(INT_MAX);            if(INT_MAX/top>=3)                uglyNum.push(3*top);            else                uglyNum.push(INT_MAX);            if(INT_MAX/top>=5)                uglyNum.push(5*top);            else                uglyNum.push(INT_MAX);            while((!uglyNum.empty())&&uglyNum.top()==top)                uglyNum.pop();        }        return uglyNum.top();    }};
0 0
原创粉丝点击