239. 滑动窗口最大值

// 使用一个单调双端队列维护滑动窗口中的最大值次大值等
// 每次移动窗口,将队尾比新增元素小的都删除(因为无论这些元素在不在窗口中,新增元素都是最大元素)
// 如果队首元素的索引等于当前移动窗口,移除的元素,则移除
class Solution {public int[] maxSlidingWindow(int[] nums, int k) {if (nums.length == 0) return new int[0];Deque<Integer> d = new LinkedList<>();int[] ans = new int[nums.length - k + 1];int count = 0;for (int i = 0; i < k; i++) {while (!d.isEmpty() && nums[d.getLast()] < nums[i]) {d.removeLast();}d.addLast(i);}ans[count++] = nums[d.getFirst()];for (int i = 1, j = k; j < nums.length; i++, j++) {if (!d.isEmpty() && d.getFirst() == i - 1) d.removeFirst();while (!d.isEmpty() && nums[d.getLast()] < nums[j]) d.removeLast();d.addLast(j);ans[count++] = nums[d.getFirst()];}return ans;}
}

一些值得注意的算法题——队列、栈相关推荐

  1. 算法精讲:分享一道值得分享的算法题

    分享一道leetcode上的题,当然,居然不是放在刷题贴里来讲,意味着分享的这道题不仅仅是教你怎么来解决,更重要的是这道题引发出来的一些解题技巧或许可以用在其他地方,下面我们来看看这道题的描述. 问题 ...

  2. leetcode算法题--队列的最大值

    原题链接:https://leetcode-cn.com/problems/dui-lie-de-zui-da-zhi-lcof/ deque<int> Q1; deque<int& ...

  3. 一些值得注意的算法题——动态规划

    322. 零钱兑换 // dp[i]=min dp[i-cj]+1 // dp[i]表示达到i金额所需的最小硬币数 // cj表示第j枚硬币的面值 class Solution {public int ...

  4. 一些值得注意的算法题——双指针

    75. 颜色分类 // 左指针指向最左,右指针指向最右 // 遍历数组,如果是0则和左指针交换,左指针右移 // 如果是2则和右指针交换,右指针左移 // 因为数组是从左往右遍历,因此可保证左指针以左 ...

  5. 一些值得注意的算法题——哈希表

    哈希表按照值排序 字符串按照字符频率排序 class Solution {public void solve(String s) {Map<Character, Integer> map ...

  6. 算法题-----题目、题解、个人算法、个人思考

    算法题-----题目.题解.个人算法.个人思考,项目说明]这里记录算法题目,这里记录:算法题目简单描述,暂存对于这道题的SK_cache(自己的卡点.自己的思路.自己对这道题的理解,自己的疑问.自己对 ...

  7. 面试必备:高频算法题汇总「图文解析 + 教学视频 + 范例代码」必问之 链表 + 栈 + 队列 部分!

    链表 链表是最基本的数据结构,面试官也常常用链表来考察面试者的基本能力,而且链表相关的操作相对而言比较简单,也适合考察写代码的能力.链表的操作也离不开指针,指针又很容易导致出错. 综合多方面的原因,链 ...

  8. 【Java算法题】剑指offer_数据结构之03队列栈

    前言 刷题链接: https://www.nowcoder.com/exam/oj/ta?page=2&tpId=13&type=265 原定于5.30写完队列&栈,超时了14 ...

  9. 算法题复习(栈与队列、二叉树)

    目录 栈与队列 栈用于匹配的问题 队列用于堆 二叉树系列 深度遍历,递归与迭代 层序遍历 二叉树属性 二叉树修改与构造 二叉搜索树 公共祖先 二叉搜索树的修改与构造 栈与队列 栈用于匹配的问题 20. ...

最新文章

  1. 解压ubi文件_制作ubi文件系统
  2. 前端工程基础知识点--Browserslist (基于官方文档翻译)
  3. 【经典回放】多种语言系列数据结构算法:树(C#、JavaScript、VB6版)
  4. SQL Sever sa密码丢失
  5. 企业招聘大数据人才 看重的是哪些方面?
  6. 瑞星微RK3288开发板
  7. 在STM8(STVP编译环境下)中使用位变量
  8. 谷歌账户在别的网上登过_如何在Google帐户之间转移联系人
  9. Pytorch函数keepdim=True
  10. html怎么混合颜色,在CSS中为背景混合两种颜色
  11. 生活中的定律——破窗效应
  12. Java的Set转成逗号分隔的字符串
  13. python+opencv将表格图片按照表格框线分割、识别
  14. Polar Si9000使用方法----阻抗匹配软件
  15. 《 硬件创业:从产品创意到成熟企业的成功路线图》——1.3 当今硬件企业类型...
  16. 常见的webshell检测工具
  17. Python量化——条件选股实现1
  18. 2022浙江省税务系统事业单位招聘经典试题及答案
  19. 【pandas小技巧】拆分某列中数字和单位
  20. python语音播报天气预报_树莓派之天气预报语音播报

热门文章

  1. Python结合Shell/Hadoop实现MapReduce
  2. visitor设计模式记录
  3. 推荐分享一个自定义绑定控件(附源码)
  4. python 并发编程 多进程 目录
  5. layui表格——table.render(options)(转)
  6. Oracle数据安全解决方案(1)——透明数据加密TDE
  7. 关于.net ashx一般处理文件中取不到session问题
  8. BZOJ.3524.[POI2014]Couriers(主席树)
  9. _技巧_Chrome_Vimium插件_纯键盘控制浏览器
  10. php重定向http请求