首页 > 其他分享 >力扣days04 栈与队列

力扣days04 栈与队列

时间:2023-03-03 11:14:42浏览次数:44  
标签:容器 队列 元素 力扣 括号 days04 表达式

栈是以底层容器完成其所有的工作,对外提供统一的接口,底层容器是可插拔的(也就是说我们可以控制使用哪种容器来实现栈的功能)。

力扣232. 用栈实现队列

  用两个栈实现队列的先进先出。

力扣225. 用队列实现栈

  队列是先进先出的规则,使用辅助队列,每次将压栈数据先存入辅助队列,后移动到另一队列中,实现先进后出。

  优化:一个队列在模拟栈弹出元素的时候只要将队列头部的元素(除了最后一个元素外) 重新添加到队列尾部,此时再去弹出元素就是栈的顺序了。

力扣20. 有效的括号

  利用栈的先进后出,可以判断括号是否成对出现;

力扣1047. 删除字符串中的所有相邻重复项

力扣150. 逆波兰表达式求值

  逆波兰表达式主要有以下两个优点:

  • 去掉括号后表达式无歧义。

  • 适合用栈操作运算:遇到数字则入栈;遇到运算符则取出栈顶两个数字进行计算,并将结果压入栈中。

力扣239. 滑动窗口最大值

力扣347. 前 K 个高频元素

  常见数据结构:大顶堆、小顶堆;(堆适用于求高低频的结果集)

标签:容器,队列,元素,力扣,括号,days04,表达式
From: https://www.cnblogs.com/LinxhzZ/p/17174818.html

相关文章

  • 延迟队列实现订单超时自动取消
    在上一篇Java实现订单未支付超时自动取消,使用Java自带的定时任务TimeTask实现订单超时取消,但是有小伙伴提出这种实现,会有以下几个问题:线上服务挂了,导致服务下所有的定......
  • Java关于栈(Stack)、队列(Queue)知识点拓展
    Stack类:Stack继承了Vector,而Vector类底层使用数组存储数据,Stack对象中存储的数据也是存储在数组中,常用方法:push(Edata):把数据压入栈addElement():是父类Vect......
  • LinkedList集合应用:实现队列
    LinkedList集合应用:实现队列题目:使用LinkedList类实现一个Queue(队列)类。Queue类应该具有以下功能:void enqueue(Eelement):将给定的元素添加到队列的末尾。Edeque......
  • 队列
    队列是一个有序列表,可以用数组或则链表实现遵循先入先出原则,即:先存入的数据先取出示意图:(使用数组模拟队列示意图) 队列的注意事项: 数组模拟队列的不足之处:目前数......
  • 力扣中567 字符串的排列
    自己写的没写对但是大体有了滑动窗口的思路也不想改了感觉用人家的方法更好这个放在字典里面不好publicstaticvoidmain(String[]args){//TODOAuto-g......
  • 力扣---面试题 05.02. 二进制数转字符串
     二进制数转字符串。给定一个介于0和1之间的实数(如0.72),类型为double,打印它的二进制表达式。如果该数字无法精确地用32位以内的二进制表示,则打印“ERROR”。示例1:输......
  • 力扣---42. 接雨水
    给定n个非负整数表示每个宽度为1的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。示例1:输入:height=[0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数组[0,1,......
  • C语言循环队列实现
    typedefstruct{int*arr;intfront;inttail;intsize;}MyCircularQueue;MyCircularQueue*myCircularQueueCreate(intk){MyCircularQ......
  • 力扣---2373. 矩阵中的局部最大值
    给你一个大小为nxn的整数矩阵grid。生成一个大小为 (n-2)x(n-2)的整数矩阵 maxLocal,并满足:maxLocal[i][j]等于grid中以i+1行和j+1列为......
  • 力扣20-有效的括号&力扣22-括号生成
    有效的括号原题链接:https://leetcode.cn/problems/valid-parentheses/题目描述给定一个只包括'(',')','{','}','[',']' 的字符串s,判断字符串是否有效。有效字符串需满足:......