算法模板
文章平均质量分 88
无名小卒一枚
因为你们都太优秀了,这就是我持续努力的动力
展开
-
Leetcode 递归题目总结
Leetcode上的递归一共有45道,现在刷了一半了,花一天半时间复盘,之后进入下一类题型。实质把问题转化为规模缩小了的同类问题的子问题,是一种直接或者间接调用自身的算法。特点必须有一个明确的递归结束条件,称为递归出口递归算法解题通常显得很简洁,但递归算法解题的运行效率较低。所以一般不提倡用递归算法设计程序。(比如在leetcode上用递归求斐波那契数列就溢出)在递归调用的过程当中系统为每一层的返回点、局部量等开辟了栈来存储。递归次数过多容易造成栈溢出等。所以一般不提倡用递归算法设计...原创 2021-03-14 09:24:27 · 1712 阅读 · 0 评论 -
Leetcode 单调栈总结
什么是:Monotone Stack单调栈中存放的数据应该是有序的,所以单调栈也分为单调递增栈和单调递减栈单调递增栈:单调递增栈就是从栈底到栈顶数据是从大到小单调递减栈:单调递减栈就是从栈底到栈顶数据是从小到大调栈的一大优势就是线性的时间复杂度,所有的元素只会进栈一次,而且一旦出栈后就不会再进来了。适用类型其实单调栈就是从数组中找到左右两边比你大的数或者比你小的数而且时间复杂度为O(N)也就是说在队列或数组中,我们需要通过比较前后元素的大小关系来解决问题时我们通常使用单调栈。比如找后原创 2021-03-14 10:02:06 · 270 阅读 · 0 评论