当前位置: 首页 > news >正文

03-3.2.4 双端队列

  • 👋 Hi, I’m @Beast Cheng
  • 👀 I’m interested in photography, hiking, landscape…
  • 🌱 I’m currently learning python, javascript, kotlin…
  • 📫 How to reach me --> 458290771@qq.com

喜欢《数据结构》部分笔记的小伙伴可以订阅专栏,今后还会不断更新。🧑‍💻
此外,《程序员必备技能》专栏和《程序员必备工具》专栏(该专栏暂未开设)日后会逐步更新,感兴趣的小伙伴可以点一下订阅、收藏、关注!🚀
谢谢大家!🙏

定义

只允许从两端插入、两端删除的线性表
如果只使用其中的一端的插入、删除操作,则双端队列的效果等同于栈
从而可以引申出另外两种特殊的双端队列

  • 输出受限的双端队列:只允许从两端插入、一端删除
  • 输入受限的双端队列:只允许从一端插入、两端删除

考点:判断输出序列的合法性

题目:如果数据元素输入序列是1,2,3,4,则哪些输出序列是合法的,哪些是非法的?
首先知道这些输入序列一共有 A 4 4 = 4 ! = 24 A_{4}^{4}=4!=24 A44=4!=24种可能性
使用卡特兰数可以计算出一共有14种合法的出栈序列: 1 n + 1 C n 2 n = 1 4 + 1 C 4 8 = 14 \frac{1}{n+1}C_{n}^{2n}=\frac{1}{4+1}C_{4}^{8}=14 n+11Cn2n=4+11C48=14
卡特兰数的公式还是需要记住的, 不需要证明, 但是要会使用
再看一下输入受限的双端队列输入受限的双端队列


需要记住的是栈中合法的序列, 双端队列中也一定合法


这种题目一般在选择题中出现
像这道题目, 输入顺序是1, 2, 3, 4, 那么在3之前, 1和2肯定已经输入进去了, 然后就可以看给你的选项中, 1和2是怎么排列的。

  • 输出受限的队列中, 因为只能从右边出, 如果给你的序列是1在2之前, 那么肯定是1要在右, 2要在左, 接下来要做的就是如何利用两端插入拼凑出你要的输出顺序
  • 输入受限的队列中,由于只能从一端输入,在一个元素出栈之前,其他的序号较小的元素就已经可以确定他们在队列里面的相对位置,接下来就只要验证,能不能根据左右两边的删除操作来拼凑出后续的这些输出序列

相关文章:

03-3.2.4 双端队列

👋 Hi, I’m Beast Cheng👀 I’m interested in photography, hiking, landscape…🌱 I’m currently learning python, javascript, kotlin…📫 How to reach me --> 458290771qq.com 喜欢《数据结构》部分笔记的小伙伴可以订…...

SpringBoot的Mapper文件什么时候需要使用@Param注解

解决:nested exception is org.apache.ibatis.binding.BindingException: Parameter ‘XXX‘ not found 关于加注解,其他博客说的很清楚!但是有的人会遇见明明使用的springboot2.x以上版本,仍然提示需要加注解!这是为…...

2024.6.8

2024.6.8 **每日一题** 3040.相同分数的最大操作数目 Ⅱ,通多题意可知,该题最多有三种操作分数,分别是前两个,最后两个,以及第一个和最后一个的和。从这里也可以看出一共有三种状态转移方式,所以我们可以利…...

室内外融合定位是如何做到成为定位领域的新宠

在信息化高速发展的今天,定位技术已成为人们生活和工作中不可或缺的一部分。随着物联网、智慧城市等领域的蓬勃发展,传统的单一定位方式已无法满足复杂多变的环境需求。在这样的背景下,室内外融合定位技术应运而生,以其独特的优势…...

【刷题篇】分治-归并排序

文章目录 1、排序数组2、交易逆序对的总数3、计算右侧小于当前元素的个数4、翻转对 1、排序数组 给你一个整数数组 nums&#xff0c;请你将该数组升序排列。 class Solution { public:vector<int> tmp;void mergeSort(vector<int>& nums,int left,int right){…...

【经验】Ubuntu上离线安装VsCode插件浏览Linux kernel源码

1、下载VsCode离线安装包 1.1 下载 下载地址:https://marketplace.visualstudio.com/vscode 本人安装的插件: C/C++ checkpatch Chinese clangd kconfig Makefile Tools Perl Perl Toolbox注意:C/C++插件要安装Linux 64版本 1.2 安装 将离线安装包拷贝到Ubuntu中,执…...

鼠标侧键映射虚拟桌面切换 —— Win11

鼠标侧键映射虚拟桌面切换 —— Win11 基于 AutoHotkey 实现功能 下载软件 AutoHotkey建议安装在默认路径下&#xff08;C盘&#xff09; 此软件非常小&#xff0c;几乎不占用资源软件安装在默认路径以外的位置可能导致部分功能不可用 新建一个 .ahk 文件使用记事本打开该 .a…...

2024全国大学生数据统计与分析竞赛B题【电信银行卡诈骗的数据分析】思路详解

电信诈骗是指通过电话、网络和短信方式&#xff0c;编造虚假信息&#xff0c;设置骗局&#xff0c;对受害人实施远程、非接触式诈骗&#xff0c;诱使受害人打款或转账的犯罪行为&#xff0c;通常以冒充他人及仿冒、伪造各种合法外衣和形式的方式达到欺骗的目的&#xff0c;如冒…...

鸿蒙emitter 订阅事件封装 EmitterUtils

适用于api11 和api12 废话不多说&#xff0c;直接上代码 import emitter from ohos.events.emitter; import { StringUtils } from ohos/flutter_ohos;export class EmitterUtils{/*** 发射字符串类型的* param eventId* param data*/public static sendEvent(eventId:stri…...

C语言---深入指针(4)

回调函数 //回调函数就是通过函数指针调用的函数 //这个在之前的转移表-计算器里面很明显&#xff0c;通过函数指针数组内的函数指针进行函数的调用 // // // 将这四段代码分装成一个函数&#xff0c;一个代码将这4个问题都解决 int Add(int x, int y) {return x y; } int S…...

【启程Golang之旅】让文件操作变得简单

欢迎来到Golang的世界&#xff01;在当今快节奏的软件开发领域&#xff0c;选择一种高效、简洁的编程语言至关重要。而在这方面&#xff0c;Golang&#xff08;又称Go&#xff09;无疑是一个备受瞩目的选择。在本文中&#xff0c;带领您探索Golang的世界&#xff0c;一步步地了…...

oracle视图无法删除,orcl视图删除卡住怎么办

话说&#xff0c;这是一个来自周四加班夜晚的故事&#xff0c;当时我的PL/SQL卡住了&#xff0c;每次查询这个表时都会卡住。 经过一番研究&#xff0c;我找到了解决办法&#xff0c;分为三个步骤&#xff1a; 使用以下查询语句获取正在执行的SQL查询的SID和OracleID&#xf…...

ug编程怎么录制宏:一步步探索自动化编程的奥秘

ug编程怎么录制宏&#xff1a;一步步探索自动化编程的奥秘 在UG编程的浩瀚领域中&#xff0c;录制宏是一项强大而神秘的功能。它就像一位魔法师&#xff0c;能够将繁琐的重复操作化为简单的指令&#xff0c;释放出惊人的编程效率。然而&#xff0c;对于许多初学者来说&#xf…...

深度学习Week16——数据增强

文章目录 深度学习Week16——数据增强 一、前言 二、我的环境 三、前期工作 1、配置环境 2、导入数据 2.1 加载数据 2.2 配置数据集 2.3 数据可视化 四、数据增强 五、增强方式 1、将其嵌入model中 2、在Dataset数据集中进行数据增强 六、训练模型 七、自定义增强函数 一、前言…...

python-自幂数判断

[题目描述]&#xff1a; 自幂数是指&#xff0c;一个N 位数&#xff0c;满足各位数字N 次方之和是本身。例如&#xff0c;153153 是 33 位数&#xff0c;其每位数的 33 次方之和&#xff0c;135333153135333153&#xff0c;因此 153153 是自幂数&#xff1b;16341634 是 44 位数…...

RocketMQ教程(三):RocketMQ的核心组件

四个核心组件 RocketMQ 的架构采用了典型的分布式系统设计理念,以确保高性能、高可用和可扩展性。RocketMQ 主要由四个核心组件构成:NameServer、Broker、Producer 和 Consumer。下面是对这些组件以及它们在 RocketMQ 中的角色和功能的概述: 1. NameServer 角色和功能:Name…...

46.SQLserver中按照多条件分组:查询每个地方的各种水果的种植数量,新增时,一个地方同时有几种水果,只插入一条记录,同时多种水果之间使用|隔开

1.SQLserver中按照多条件分组 &#xff0c;分组条件包括&#xff08;一个字段使用|进行分割&#xff0c;如&#xff1a;apple|orange,查询时&#xff0c;apple和orange分别对应一条数据&#xff09; 例如&#xff1a;SQL如下&#xff1a; SELECT FROM ( SELECT CDFBM 地方编码…...

C盘满了怎么办,Windows11的C盘没有磁盘清理选项怎么办,一次搞定

问题&#xff1a; 太久没清电脑了&#xff0c;满的跟垃圾堆一样。。。C盘红色看上去很不妙。 一. C盘满了怎么办&#xff1a; 1. 删除临时文件 找到 C:\Windows\Temp&#xff0c;进入Temp资料夹&#xff0c;选中所有文件夹和文件&#xff0c;按下ShiftDelete键&#xff0c;彻…...

「动态规划」当小偷改行去当按摩师,会发生什么?

一个有名的按摩师会收到源源不断的预约请求&#xff0c;每个预约都可以选择接或不接。在每次预约服务之间要有休息时间&#xff0c;因此她不能接受相邻的预约。给定一个预约请求序列&#xff0c;替按摩师找到最优的预约集合&#xff08;总预约时间最长&#xff09;&#xff0c;…...

Python | 排队取奶茶

队列的基本概念&#xff08;队头、队尾&#xff09;和特点&#xff08;先入先出&#xff09; 在 Python 语言中&#xff0c;标准库中的queue模块提供了多种队列的实现&#xff0c;比如普通队列和优先级队列&#xff0c;因此你可以使用queue.Queue类来创建队列&#xff0c;不过…...

SAPO Ink UI组件实战:10个常用交互组件快速上手

SAPO Ink UI组件实战&#xff1a;10个常用交互组件快速上手 【免费下载链接】Ink An HTML5/CSS3 framework used at SAPO for fast and efficient website design and prototyping 项目地址: https://gitcode.com/gh_mirrors/ink2/Ink SAPO Ink是一个由SAPO开发的HTML5/…...

Godot引擎开发实战:高效利用代码食谱仓库加速游戏原型设计

1. 项目概述&#xff1a;一个为Godot开发者量身定制的“食谱”仓库如果你正在使用Godot引擎&#xff0c;无论是刚入门的新手&#xff0c;还是已经摸爬滚打了一段时间的开发者&#xff0c;大概率都经历过这样的时刻&#xff1a;脑子里有一个很酷的游戏机制想法&#xff0c;比如“…...

别再写面条代码了!用C语言状态机重构你的单片机项目(附51单片机HSM可移植框架)

从面条代码到优雅架构&#xff1a;用HSM状态机重构嵌入式系统的实战指南 当你面对一个智能家居设备的嵌入式项目&#xff0c;代码里充斥着数百行的if-else嵌套和switch-case分支&#xff0c;每次添加新功能都像是在一碗已经坨掉的面条上再浇一勺酱料——这样的开发体验&#xf…...

【波导仿真】基于矢量有限元法分析均匀波导附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长毕业设计辅导、数学建模、数据处理、程序设计科研仿真。 &#x1f34e;完整代码获取 定制创新 论文复现点击&#xff1a;Matlab科研工作室 &#x1f447; 关注我领取海量matlab电子书和数学建模资料 &#x…...

TlbbGmTool:从数据库小白到《天龙八部》单机版管理大师的蜕变之旅

TlbbGmTool&#xff1a;从数据库小白到《天龙八部》单机版管理大师的蜕变之旅 【免费下载链接】TlbbGmTool 某网络游戏的单机版本GM工具 项目地址: https://gitcode.com/gh_mirrors/tl/TlbbGmTool 你是否曾经面对《天龙八部》单机版数据库的复杂结构感到无从下手&#x…...

Zotero Duplicates Merger:5分钟搞定文献库重复问题

Zotero Duplicates Merger&#xff1a;5分钟搞定文献库重复问题 【免费下载链接】ZoteroDuplicatesMerger A zotero plugin to automatically merge duplicate items 项目地址: https://gitcode.com/gh_mirrors/zo/ZoteroDuplicatesMerger 还在为Zotero文献库中堆积如山…...

蓝叠模拟器抓包难题?用Proxifier+ Fiddler搞定HTTPS请求(保姆级图文教程)

蓝叠模拟器HTTPS抓包实战&#xff1a;Proxifier与Fiddler深度配置指南 在移动应用开发与安全测试领域&#xff0c;抓包分析是必不可少的技能。然而当遇到蓝叠模拟器这类特殊环境时&#xff0c;许多开发者发现常规的代理设置方法完全失效——因为蓝叠根本没有提供网络配置界面。…...

2026届学术党必备的降重复率平台横评

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 1. 在学术写作这个特定领域里&#xff0c;合理运用AI工具能切实有效提升文献检索、大纲构建…...

【限时解密】Midjourney Anthotype印相黄金比例:1:1.618构图×植物色素衰减曲线=不可复制的复古质感

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Midjourney Anthotype印相的本质溯源与时代语境 Anthotype&#xff08;植物感光印相&#xff09;是一种源于19世纪的古老摄影工艺&#xff0c;利用植物提取物&#xff08;如甜菜根、黑醋栗或蒲公英花汁…...

告别ifconfig:用ubus命令玩转OpenWrt网络接口(netifd实战指南)

告别ifconfig&#xff1a;用ubus命令玩转OpenWrt网络接口&#xff08;netifd实战指南&#xff09; 在OpenWrt的世界里&#xff0c;网络接口管理一直是个既基础又关键的课题。传统Linux用户习惯使用ifconfig或ip命令来配置网络&#xff0c;但在OpenWrt环境下&#xff0c;这些工具…...