题解 | #丑数#

丑数

https://www.nowcoder.com/practice/6aa9e04fc3794f68acf8778237ba065b

代码实现

class Solution {
public:
    int GetUglyNumber_Solution(int index) {
        if(index == 0) return 0;
        //开辟三个队列
        queue<int> q2;
        queue<int> q3;
        queue<int> q5;
        vector<int> arr;
        int numNew = 1;
        arr.push_back(numNew);

        while(arr.size() < index)
        {    
            q2.push(numNew * 2);
            q3.push(numNew * 3);
            q5.push(numNew * 5);
            numNew = min(q2.front(), min(q3.front(), q5.front()));
            if(q2.front() == numNew) q2.pop();
            if(q3.front() == numNew) q3.pop();
            if(q5.front() == numNew) q5.pop();

            //最小丑数入丑数队列
            arr.push_back(numNew);
        }
        return arr[arr.size() - 1];
    }
};
全部评论

相关推荐

面了100年面试不知...:今年白菜这么多,冬天可以狂吃了
点赞 评论 收藏
分享
牛客77743221...:做一段时间,公司出钱送你去缅甸和泰国旅游
点赞 评论 收藏
分享
友友们,我实在是不太明白,校招的话现在大多也是提前实习,然后转正也是需要考核的,考核通过才能转正,那这跟实习转正有什么区别啊
苦闷的仰泳鲈鱼刷了1...:提前实习,是让你提前熟悉业务的,后续是入职后可以减少试用期的(大部分是包入职的);转正实习,要是hc不够或者其他原因,让你正式offer可能都没有,这个风险很大。 ---个人看法和了解到的。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务