打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
O(1)时间内,栈与队列中的最大值(最小值)
以下的栈可以换成队列,最大值可以换成最小值。
当要求在栈中,在O(1)时间内求出最大值时,核心思想就是在维护一般栈的功能时,加上另外一些信息。例如:
在栈的节点信息中,除了保存的数据外,在加上一个地址信息,保存下一个比它小的节点位置。并在栈中维护一个类似头指针的变量,通过这个变量就可以直接得到栈中的最大值。
1、入栈:在对栈进行入栈时,元素入栈的同时,进行最大元素链的更新;
2、出栈:而在出栈时,必须先更新最大元素链,然后再把此元素从栈中去除。
3、取最大值:根据栈中维护的一个指针直接获取。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
算法|寻找不规律栈中最小元素
WinCC-中如何获取在线表格控件中数据的最大值最小值和时间戳
最大值还是最小值呢?真迷糊了!
已知|x 2| |1-x|=9-|y-5|-|1 y|,则x y的最小值为?最大值为?
上次发过吧,最大值和最小值一起求下哈
【matlab 矩阵最小值的位置】
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服