队列
Huiex胖子君
广告位招租
展开
-
剑指 Offer 59 - II. 队列的最大值
参考: https://leetcode-cn.com/problems/dui-lie-de-zui-da-zhi-lcof/solution/ru-he-jie-jue-o1-fu-za-du-de-api-she-ji-ti-by-z1m/ 主要思路就是 创建两个队列,一个是先进先出队列,一个是双向队列 普通队里用来执行pop 和push 双向队列用来执行最大值的存放 如果加入的数值大于双向队列的最后元素,就将该元素从双向队列的从末尾弹出,直到双向队列的末尾元素大于该数值,就将数值从后面放入双向队列原创 2021-12-08 18:18:37 · 193 阅读 · 0 评论 -
剑指 Offer 09. 用两个栈实现队列
从题目代码给的注解可以得出 题意为创建一个类,CQueue,可以实现队列,要求使用两个栈来完成 题目给了一个构造器,一个添加方法,一个删除方法 (给个输入输出案例属实没有看懂) 总体思想为 两个栈,一个用来添加元素,当删除元素时,就将第一个栈的元素添加到另一个栈中,根据栈的特性,第二个栈的栈顶恰巧为加入的第一个元素; 当再添加元素时,就继续加入第一个栈;当再删除元素时,就分为三种情况 : 第二个栈为空,就将第一个栈依次出栈,加入到第二个栈中,再将第二个栈出栈一个元素 第二个栈不为空,就将第二个栈出栈一个元原创 2021-11-26 14:37:27 · 60 阅读 · 0 评论