社区
C++ 语言
帖子详情
关于双端队列的一个问题(哪位能帮忙讲讲啊,谢谢)
huaostrich
2004-11-22 12:45:23
设有一个双端队列,元素进入该队列的顺序是1、2、3、4。试分别求出满足下列条件的输出序列
1)能由输入受限的双端队列得到,但不能由输出受限的双端队列得到的输出序列;
2)能由输出受限的双端队列得到,但不能由输入受限的双端队列得到的输出序列;
3)既不能由输入受限的双端队列得到,又不能由输出受限的双端队列得到的输出序列。
...全文
285
3
打赏
收藏
关于双端队列的一个问题(哪位能帮忙讲讲啊,谢谢)
设有一个双端队列,元素进入该队列的顺序是1、2、3、4。试分别求出满足下列条件的输出序列 1)能由输入受限的双端队列得到,但不能由输出受限的双端队列得到的输出序列; 2)能由输出受限的双端队列得到,但不能由输入受限的双端队列得到的输出序列; 3)既不能由输入受限的双端队列得到,又不能由输出受限的双端队列得到的输出序列。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sailor_Song
2005-01-30
打赏
举报
回复
顶一下啊,
yangsongx
2004-11-23
打赏
举报
回复
用STL中的deque模板类就可以解决了吧?》
Leaveye
2004-11-22
打赏
举报
回复
输入1234:
double_queue_enter_limited(QE): 输入受限队列:<---> [ ][p2][p3][p4] -->
double_queue_delete_limited(QD):输出受限队列:<---> [ ][p2][p3][p4] <--
可能的输出:p1,p2,p3,p4。
推论一:很容易看出,若输入只有三个数123,则QE和QD能做出所有3!种序列。
推论二:若p1<=3,则p1出队后,队里最多有两个元素,
而由上述结论可以看出剩下的三个数的所有序列QE和QD都能做出来(相当于做三个数的序列)。
故只可能是4开头的序列QE和QD做不出来,
也就是说在p2,p3,p4出来之前他们已经在队里了(如上图)。
QE只有一个入口,可见q2=3,q3=2,q1=1, 所以QE做不出的有4213和4231,
即中间的数(2)先出。
QD只有一个出口,他能做出的序列必已经在队里摆好(然后才能在出口端顺序出来),
而QD靠入队操作在队里摆不出的序列,一定是把后入队的元素放在先入队的两个元素的中间,
即不能把3放在1和2的中间,故QD做不出来的序列有4132和4231。
Python数据结构与算法面试(上)
本课程使用Python 3.7进行讲解,更高的Python版本仍然可用。 本课程的程序适合于Windows、macOS和Linux平台。学员不必纠结操作系统平台和Python的版本。Python是跨平台的。从Python3.5开始,兼容性非常高。《Python数据结构与算法面试》系列课程不仅详细讲解了数据结构的核心知识点,也同样可以用于相关领域的面试准备,因为本系列课程中包含了大量各大厂的面试原题,以及经过改进的题目。 这一系列课程主要包括如下内容递归、数组、字符串、栈、队列和
双端队列
、链表、树、优先级队列、映射、哈希表和跳跃表、搜索树、排序与选择、文本处理、图
你知道工作窃取算法吗?你知道 Java 中的 fork/join 框架吗?
本文我们将讨论 Java 中工作窃取的概念。在 JDK7 中引入了工作窃取,旨在减少多线程应用程序中的竞争。这是使用 fork/join 框架完成的。在 fork/join 框架中,
问题
或任务被递归分解为子任务。然后单独解决子任务,子结果组合成结果。分解任务在线程池提供的工作线程的帮助下解决。每个工作线程都有它负责的子任务。这些存储在
双端队列
(deques)中。每个工作线程通过不断从 d...
Android最新面试题汇总
这段时间项目不忙,改Bug阶段。在网上搜集了一部分android面试题,不仅仅是为了面试,其实也是一种很好的复习方式。希望对大家有用。 1、 Android dvm的进程和Linux的进程, 应用程序的进程是否为同
一个
概念 DVM指Dalvik的虚拟机。每
一个
Android应用程序都在它自己的进程中运行,都拥有
一个
独立的Dalvik虚拟机实例。而每
一个
DVM都是在Linux 中的
一个
进程,
[Android面试题]--BAT三年面试集锦之Android面试(你一定会遇到)
本文集锦自面试过程中常遇到的
问题
,都是大家实际遇到的,都是平常收集的,如果你正在求职看一看肯定会帮助很大,如果在工作中也可以读一读巩固基础以查漏补缺. 辛苦整理希望只对大家有帮助! 腾讯面试题 1.int a = 1; int result = a+++3 2.int a = 2; int result = (a++ > 2)?(++a):(a+=3); 3.int a =
Android面试题
1.int a = 1; int result = a+++3 2.int a = 2; int result = (a++ > 2)?(++a):(a+=3); 3.int a = 1234567; int b = 0x06; int result = a&b; 4.Integer a = 34556; Integer b = 34556; boolean resu
C++ 语言
64,637
社区成员
250,559
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章