264. Ugly Number II

    xiaoxiao2021-03-25  97

    简单题,一次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(); } };
    转载请注明原文地址: https://ju.6miu.com/read-20363.html

    最新回复(0)