入栈出栈规律·

2023-05-16

相信大家都做过类似这样的题目:
已知入栈序列为:1 2 3 4 5,这5个数依次入栈,出栈顺序、时机任意。
则下列可能的出栈序列不正确的是()
A 1 2 3 4 5
B 3 2 1 5 4
C 1 5 4 3 2
D 4 3 5 1 2

这种题目,相信给你一分钟心算一下就可以出来了。然而,当规模增加到10个数,20个数,估计你花费的时间会成指数增长。但是我现在想在10秒之内做出来,不管是5个数还是10个数,或者20个数。那么怎么办呢?

好吧,废话不多说,我其实就是分享做这类题目的技巧和规律。。。。。。

规律如下:
*已知栈的输入序列是1,2,3,…,n,输出序列是a1,a2,…ai,…,an。
然后我们任选一个数ai,并筛选ai到an之间所有<=ai的元素,则它们一定是按照从大到小的顺序排列的。*
(“从大到小“不一定紧紧相邻,只代表相对位置关系,比如(…,10,…,7,…,3,…,1,…)
举例:
入栈顺序:1 2 3 4 5 【n=5】
出栈顺序:3 2 1 5 4
验证:
让i=1,那么ai=3,后面小于3的有2,1。刚好3,2,1是按照从大到小的顺序排列的
让i=2,那么ai=2,后面小于2的有1。刚好2,1是按照从大到小的顺序排列的
让i=3,那么ai=1,后面小于1的有NULL,满足。
让i=4,那么ai=5,后面小于5的有4。刚好5,4是按照从大到小的顺序排列的
让i=5,那么ai=4,后面小于4的有NULL,满足。

讲一讲原理:
最理想的情况下,从小到大入栈,从大到小出栈,但是因为出栈是随机的,也就是在入栈还没结束的情况下就可以出栈。这样,就会出现一些小的数提前出栈的现象。但是那些“守规矩”的小数相对位置是没有变化的。比如入栈12345,结果在4入栈之前3不听话先出去了。但是这不会影响12的顺序,12的相对顺序还是保持着 12入栈,21出栈。因为12是守规矩的。

结束语:
当然实际做题的时候规律掌握了扫一眼就可以判断那些是错误的了。
【注;这些规律一般用来排除不满足的选项,因为这个不是充分条件】

可能会有这样的疑问:上面的规律前提都是输入序列为:1,2,3,…n这种递增的形式的,
如果哪天入栈序列改了,变成:n,n-1,…3,2,1,那规律难道都不适用了?还有就是输入的序列不是这些简单的数字,而是一些字母,数字等的混合形式,难道我又只能呵呵了。
解决方法:
一句话:你先给它们每个元素(不管是数字还是字符串)标个序号,后面直接对序号操作就OK了【按照1,2,3,…,n的顺序】。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

入栈出栈规律· 的相关文章

  • 41.Java单列集合LinkedList

    单列集合LinkedList 1 LinkedList集合2 源码3 ArrayList和LinkedList的区别 1 LinkedList集合 在许多情况下 xff0c ArrayList效率更高 xff0c 因为通常需要访问列表中的某
  • hiveh和presto中date_add

    日期增加函数 date add语法 hive gt select date add 2016 12 29 10 presto gt select date add day 1 TIMESTAMP 2014 03 08 09 00 00 ht
  • synchronized关键字

    https tech meituan com 2018 11 15 java lock html https juejin im post 5ae6dc04f265da0ba351d3ff https leejay top posts Sy
  • CAS

    一 CAS简介 比较并交换 compare and swap CAS xff0c 是原子操作的一种 xff0c 可用于在多线程编程中实现不被打断的数据交换操作 xff0c 从而避免多线程同时改写某一数据时由于执行顺序不确定性以及中断的不可预
  • 帧内预测

    转载于 xff1a https www cnblogs com charybdis p 6049108 html 为什么要有帧内预测 xff1f 因为一般来说 xff0c 对于一幅图像 xff0c 相邻的两个像素的亮度和色度值之间经常是比较
  • 找出数组中没有出现的最小正整数

    题目描述 xff1a 给定一个无序整型数组arr 找到数组中未出现的最小整数 例子 arr 61 1 2 3 4 return 1 arr 61 1 2 3 4 return 5 时间复杂度O n 空间复杂度O 1 解题思路 xff1a x
  • 公有云弹性IP的实现原理及优势

    原文链接 xff1a http news west cn 26218 html 在利用公有云服务部署我们的应用时 xff0c 为了访问到我们的服务器 xff0c 我们需要为我们的服务部署公网IP 公有云服务商除了可以为服务器提供固定的公网I
  • vim 怎么取消高亮 或取消选中状态

    原文链接 xff1a https blog csdn net weixin 40539892 article details 78946659 神操作 在vim中编写代码 xff0c 常常会遇到多行注释和取消注释的情况 xff0c 在VS中
  • 工单关联销售订单

    CREATE OR REPLACE TRIGGER CUX WIP DISCRETE JOBS BEFORE INSERT ON INV MTL RESERVATIONS FOR EACH ROW when NEW SUPPLY SOURC
  • P2P(Peer to Peer)对等网络

    P2P xff08 Peer to Peer xff09 对等网络 P2P技术属于覆盖层网络 Overlay Network 的范畴 xff0c 是相对于客户机 服务器 C S 模式来说的一种网络信息交换方式 在C S模式中 xff0c 数
  • JAVA四大域对象总结

    JAVA四大域对象总结 根据有作用范围由小到大 xff1a page 当前jsp页面 page域指的是pageContext request 一次请求 request域request HttpServletContext session 一
  • Java中如何判断两个对象是否相等

    如何判断两个对象相等 xff0c 这个问题实际上可以看做是如何对equals方法和hashcode方法的理解 从以下几个点来理解equals和hashCode方法 xff1a 1 equals的作用及与 61 61 的区别 2 hashco
  • nginx中的日志管理

    我们观察nginx的server段 可以看到如下类似信息 access log logs host access log main 这说明 该server 它的访问日志的文件是 logs host access log 使用的格式 main
  • 用SQL来校验证件号码是否合法

    正确时返回证件号 xff0c 错误时返回错误原因 select t centno xingming ZJHM FUNC AAC002 15 18 ZJHM from TABLEt where ZJHM lt gt FUNC AAC002 1
  • 微信聊天记录做成词云~

    最近快毕业了 xff0c 所以想把微信聊天记录全部导出 做成词云 然后寄给好友 xff0c 想想都很浪漫 xff0c 哈哈 先上词云结果图 xff08 结果图拿 三国演义 做的 xff0c 想啥呢 xff0c 我才不会把我的聊天记录发到网上
  • iOS collectionView添加头部底部view

    定义一个collectionview 创建colloectionview private func createCollectionView let layout 61 UICollectionViewFlowLayout layout s
  • UIBezierPath详解

    使用UIBezierPath类可以创建基于矢量的路径 xff0c 这个类在UIKit中 此类是Core Graphics框架关于path的一个封装 使用此类可以定义简单的形状 xff0c 如椭圆或者矩形 xff0c 或者有多个直线和曲线段组
  • 树莓派vnc连接

    网上大多数的树莓派连接都是采用tightvncserver xff0c 事实上刷入最新版的树莓派系统已经自带vnc 了 xff0c 不需要用那个tightvncserver了 xff0c 因为它用起来太不方便安装后还要设置自启动等等 xff
  • VSCode 编写C#代码有提示,但是没有报错

    使用VSCode去编写C 的时候 xff0c 突然遇到一个问题 xff1a 按道理这里的Demoalkdfljadflk是一个未定义的类 xff0c 应该会给红色的波浪线提示 xff0c 到这里没有 xff0c 同时代码不能跟踪进入到源码
  • Pending transaction

    In this Document Purpose Last Review Date Instructions for the Reader Troubleshooting Details 1 Pending WIP Material Tra

随机推荐