当前位置: 首页 > news >正文

力扣labuladong一刷day51天单调栈应用

力扣labuladong一刷day51天单调栈应用

一、239. 滑动窗口最大值

题目链接:https://leetcode.cn/problems/sliding-window-maximum/
思路:滑动窗口最大值,既要维护加入的时间顺序,又要

class Solution {public int[] maxSlidingWindow(int[] nums, int k) {int[] res = new int[nums.length - k + 1];Queue queue = new Queue();for (int i = 0; i < k; i++) {queue.push(nums[i]);}int j = 0;res[j++] = queue.getMax();for (int i = k; i < nums.length; i++) {queue.pop(nums[i-k]);queue.push(nums[i]);res[j++] = queue.getMax();}return res;}class Queue {LinkedList<Integer> stack = new LinkedList<>();void push(int n) {while (!stack.isEmpty() && n > stack.getLast()) {stack.pollLast();}stack.addLast(n);}void pop(int n) {if (n == stack.getFirst()) {stack.pollFirst();}}int getMax() {return stack.getFirst();}}
}
http://www.lryc.cn/news/272091.html

相关文章:

  • 单片机相关知识点
  • 009:vue结合el-table实现表格行拖拽排序(基于sortablejs)
  • C语言KR圣经笔记 5.3指针和数组 5.4地址运算
  • 设计模式:简单工厂模式、工厂方法模式、抽象工厂模式
  • Could not load library libcudnn_cnn_infer.so.8
  • ELement UI时间控件el-date-picker误差8小时解决办法
  • Linux日志论转
  • 第7课 利用FFmpeg将摄像头画面与麦克风数据合成后推送到rtmp服务器
  • Microsoft Visual Studio 2022 install Project 下载慢
  • uniapp---安卓真机调试提示检测不到手机【解决办法】
  • Nginx(十四) 配置文件详解 - 负载均衡(超详细)
  • 大数据应用安全策略包括什么
  • Ubuntu软件和vmware下载
  • 如何修改Anaconda的Jupyter notebook的默认启动路径
  • 密码学:带密钥的消息摘要算法一数字签名算法
  • JVM中部分主要垃圾回收器的特点、使用的算法以及适用场景
  • vue保姆级教程----深入了解Vuex的工作原理
  • (JAVA)-(网络编程)-InetAddress(ip)
  • 手把手带你死磕ORBSLAM3源代码(二十二)Tracking.cc PrintTimeStats介绍
  • 【操作系统xv6】学习记录3-Wsl2 Ubuntu18.04图形化界面
  • CCNP课程实验-03-Route_Path_Control_CFG
  • STM32 学习(二)GPIO
  • 安卓作业001 - 显示学生信息
  • ARM CCA机密计算硬件架构之内存管理
  • MySQL--安装与配置与向日葵的基本操作使用
  • Vue - 多行文本“展开、收起”功能
  • Linux操作系统基础(6):Linux的文件颜色
  • LeetCode 1758. 生成交替二进制字符串的最少操作数【字符串,模拟】1353
  • Spring-IOC-xml方式
  • HUAWEI华为荣耀MagicBook X 15酷睿i5-10210U处理器集显(BBR-WAH9)笔记本电脑原装出厂Windows10系统