算法——双指针、单调栈总结

双指针

双指针,指的是在遍历对象的过程中,不是普通的使用单个指针进行访问,而是使用两个相同方向(快慢指针)或者相反方向(对撞指针)的指针进行扫描,从而达到相应的目的。

不一定非要用指针,可以用数组下标,所以二分也是双指针的一种。

快慢指针、对撞指针详细的简单例子

Leetbook双指针

Leetcode双指针题库

自补充:

旋转数组可以用三次双指针反转数组的方法来做

有序数组的平方可以双指针把大的倒着放进去

单调栈

https://blog.csdn.net/lucky52529/article/details/89155694,单调栈思想

https://www.cnblogs.com/grandyang/p/8887985.html,单调栈的题

我觉得单调栈重要的是三点:哨兵的设置,栈内元素的类型,出栈时的操作。需要结合题目进一步的理解。

单调栈的一道模板题:https://leetcode-cn.com/problems/0ynMMM/comments/

posted @ 2021-09-17 11:04  永远是个小孩子  阅读(100)  评论(0)    收藏  举报