首页 > 其他分享 >day12栈与队列

day12栈与队列

时间:2023-12-11 16:34:04浏览次数:27  
标签:day12 示例 队列 最大值 元素 数组 高频

239.滑动窗口最大值;347.前 K 个高频元素;总结

1 滑动窗口最大值

1.1 思路

封装一个deque类:主要构造pop、push的逻辑

然后使用循环来进行遍历,更新最大值

1.2 代码

二刷补充

2 前 K 个高频元素

给定一个非空的整数数组,返回其中出现频率前 k 高的元素。

示例 1:

  • 输入: nums = [1,1,1,2,2,3], k = 2
  • 输出: [1,2]

示例 2:

  • 输入: nums = [1], k = 1
  • 输出: [1]
  • 提示:
    • 你可以假设给定的 k 总是合理的,且 1 ≤ k ≤ 数组中不相同的元素的个数。
    • 你的算法的时间复杂度必须优于 $O(n \log n)$ , n 是数组的大小。
    • 题目数据保证答案唯一,换句话说,数组中前 k 个高频元素的集合是唯一的。
    • 你可以按任意顺序返回答案。

2.1 思路

自己思考:需要对数组出现过的元素组成[值,数量]这样的封装。

​ 数量与k比较

解题思路:使用小顶堆

2.2 代码

二刷补充

总结

**栈 **:先进后出

队列: 先进先出

要了解底层实现:基于链表或者数组

标签:day12,示例,队列,最大值,元素,数组,高频
From: https://www.cnblogs.com/nrtnrt/p/17894734.html

相关文章

  • C++U4-第08课-队列
    队列:顺序队列 队列基本操作 选择题1 选择题2 程序阅读题     打疫苗 【算法分析】用数组实现队列,按题意模拟即可。【参考代码】#include<iostream>usingnamespacestd;stringq[1010];intf,r;//f前端,指向队头,r后端,指向队尾的后......
  • 栈和队列
    前言这里我们主要介绍手写栈和队列。虽然有STL里的分装好的数据结构,但是因为封装好的数据结构跑得会很比较慢(比如deque),所以我们最好手写。正文普通栈栈是一种后入先出的数据结构,它主要有三种功能:往栈里加入一个元素从栈头弹出一个元素查询栈顶端的元素。所谓后......
  • 循环队列
    一、循环队列环形队列,有两个指针:头指针和尾指针。在队尾写入,移动尾指针;从队列头部读取,移动头指针。环形队列,其特殊性在于"环形",内存空间可以不断重复使用,无需频繁分配和释放内存。通常,我们用一个固定长度的数组来实现循环队列。示意图:1.初始化循环队列初始化:创建一个空的......
  • 架构核心技术之分布式消息队列
    Java全能学习+面试指南:https://javaxiaobear.cn今天我们来学习分布式消息队列,分布式消息队列的知识结构如下图。主要介绍以下内容:同步架构和异步架构的区别。异步架构的主要组成部分:消息生产者、消息消费者、分布式消息队列。异步架构的两种主要模型:点对点模型和发布订阅模型......
  • day11栈与队列
    day11栈与队列20.有效的括号1047.删除字符串中的所有相邻重复项150.逆波兰表达式求值1有效的括号给定一个只包括'(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被......
  • Leetcode刷题day9-栈.队列-栈转队列.队列转栈
    232.用栈实现队列232.用栈实现队列-力扣(LeetCode)请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty):实现 MyQueue 类:voidpush(intx) 将元素x推到队列的末尾intpop() 从队列的开头移除并返回元素intpeek() 返回队......
  • 第五章 栈与队列part01
    第五章栈与队列part01  232.用栈实现队列  基础逻辑(用于理解,直接运行的话会报错,C++STLstack定义的不太一样):注://C++STLStack的pop还不管弹数,得用top()拿 逻辑Code:classMyQueue{public:  stack<int>stack_Simulate......
  • 【JavaSE】数据结构(栈、队列、数组、链表)
    什么是数据结构?数据结构是计算机底层存储、组织数据的方式,是指数据相互之间是什么方式排列在一起的常见的数据结构栈、队列、数组、链表二叉树、二叉查找树、平衡二叉树、红黑树哈希表栈特点:先进后出队列特点:先进先出数组特点:有索引,内存连续优点:查询速度快O(1)缺点:增......
  • 基于Redis的简易延时队列
    基于Redis的简易延时队列一、背景在实际的业务场景中,经常会遇到需要延时处理的业务,比如订单超时未支付,需要取消订单,或者是用户注册后,需要在一段时间内激活账号,否则账号失效等等。这些业务场景都可以通过延时队列来实现。最近在实际业务当中就遇到了这样的一个场景,需要实现一个......
  • AMQP协议中的,消息队列RabbitMQ,ActiveMQ,Apache Kafka区别是什么?
    都是基于AMQP协议来的一种实现方式。参考chatGPT4回答请使用Markdown表格来展示RabbitMQ、ActiveMQ和ApacheKafka之间的区别:维度RabbitMQActiveMQApacheKafka语言ErlangJavaScala/Java协议AMQP、STOMP、MQTTAMQP、STOMP、OpenWire自定义协议......