剑指offer2 类型总结:辅助结构(栈,堆,队列)和其它题目

本文详细介绍了数据结构中栈、堆、队列的常见应用,包括寻找最大值、模拟过程等。通过具体题目如最小栈、栈的压入弹出序列、数据流中中位数的计算等,阐述了动态维护辅助结构的思路。同时,还探讨了状态机、滑动窗口、大数问题、位运算和链表操作等其他类型的算法,并给出了相应的经典题目和解题策略。
摘要由CSDN通过智能技术生成

辅助结构(栈,堆,队列)

常见题干

  • 动态变化的,要求复杂度为O(1)
  • 模拟某个过程,该过程符合某种数据结构的特性

题目思路

实际上就拿最简单的寻找最大值举例,其中的变量maxnum也可以视作一个“辅助结构”,它伴随数值的变化而变化,提供记录的作用。而这类题目的关键就是寻找同步关系并同步记录,将需要使用的数据存在某个结构中,然后根据要求决定如何存储(需要先取什么),一般是需要排序,可以按以下两种思路:

  • 添加时进行条件判断:往往用于单调栈(队列),pop出的元素必须是以后再也用不到的
  • 维护堆结构:无法保证以后用不到

涉及题目

其它类型

这些类题目都比较有题目针对性,都在一刷的具体题目中进行了分析,下面只简单给出思路及对应题目

状态机

滑动窗口

大数问题

位运算

链表操作

找规律

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值