东隅已逝,桑榆非晚
【练习】单调队列的通用实现及经典习题 【练习】单调队列的通用实现及经典习题
【练习】单调队列的通用实现及经典习题通用实现我先提供一个单调队列结构的通用实现,这里涉及 Java 的泛型,E 就代表任意类型,E extends Comparable<E> 的意思是这个类型 E 需要实现 Comparable
单调队列结构解决滑动窗口问题 单调队列结构解决滑动窗口问题
单调队列结构解决滑动窗口问题前文用 单调栈解决三道算法问题 介绍了单调栈这种特殊数据结构,本文写一个类似的数据结构「单调队列」。 也许这种数据结构的名字你没听过,其实没啥难的,就是一个「队列」,只是使用了一点巧妙的方法,使得队列中的元素全都
【练习】单调栈的几种变体及经典习题 【练习】单调栈的几种变体及经典习题
单调栈模板的变体下一个更大的元素上篇文章 单调栈的实现 带你使用单调栈解决了「下一个更大元素」的问题,比如下面这个例子: 输入:nums = [1, 3, 2, 4, 4] 返回:res = [3, 4, 4, -1, -1] 我们实现了
单调栈算法模板解决三道例题 单调栈算法模板解决三道例题
单调栈算法模板解决三道例题 栈(stack)是很简单的一种数据结构,先进后出的逻辑顺序,符合某些问题的特点,比如说函数调用栈。单调栈实际上就是栈,只是利用了一些巧妙的逻辑,使得每次新元素入栈后,栈内的元素都保持有序(单调递增或单调递减)。
【练习】队列的经典习题 【练习】队列的经典习题
【练习】队列的经典习题考察先进先出性质队列常见考点主要是元素「先进先出」的顺序特性,比如维护队列内的元素在「时序上」的某些性质,下面是几道例题,队列充当「滑动窗口」的作用。 933. 最近的请求次数933. 最近的请求次数 |&n
【练习】括号类问题汇总 【练习】括号类问题汇总
【练习】括号类问题汇总20. 有效的括号对括号的有效性判断多次在笔试中出现,现实中也很常见,比如说我们写的代码,编辑器会检查括号是否正确闭合。而且我们的代码可能会包含三种括号 [](){},判断起来有一点难度。 来看一看
【练习】栈的经典习题 【练习】栈的经典习题
【练习】栈的经典习题考察先进后出性质对于栈这种数据结构的考察,主要考察先进后出特点的运用,比如表达式运算、括号合法性检测等问题,下面列出几个使用栈的经典场景。 71. 简化路径71. 简化路径 | 力扣 |&n
队列实现栈以及栈实现队列 队列实现栈以及栈实现队列
队列实现栈以及栈实现队列队列是一种先进先出的数据结构,栈是一种先进后出的数据结构,形象一点就是这样: 这两种数据结构底层其实都是数组或者链表实现的,只是 API 限定了它们的特性 今天来看看如何使用「栈」的特性来实现一个「队列」,如何用「