【力扣打卡系列】单调队列

devtools/2024/11/7 11:13:57/

坚持按题型打卡&刷&梳理力扣算法题系列,语言为go,Day21

单调队列——滑动窗口最大值
  • 题目描述描述
  • 解题思路
    • 单调队列
      • 双端队列
        • 移除最左边的元素
        • 移除最右边的元素
        • 在最右边插入元素
      • 单调性
        • 从队首到队尾单调递减
  • 代码参考
go">func maxSlidingWindow(nums []int, k int) []int {ans := []int{}q := []int{}for i,j := range(nums){for len(q)>0 && j>=nums[q[len(q)-1]]{q = q[:len(q)-1]}q = append(q,i)if i - q[0]>=k{q = q[1:]}if i>=k-1{ans = append(ans,nums[q[0]])}}return ans
}
  • tips
    • go语言中的切片:动态数组,可以追加元素,直接求长度等
    • 一个切片在未初始化之前默认为 nil,长度为 0

http://www.ppmy.cn/devtools/132000.html

相关文章

Qt的C++中实现一个文本转语音(TTS)系统

为了在Qt的C++中实现一个文本转语音(TTS)系统,支持中英文发音,以下是详细的解决方案,包括可用的模型和代码实现方案。 实现需求 已有模型选择:推荐使用 Vosk 或 Mozilla TTS 模型,这些模型都可以离线使用,支持多语言且免费。 Vosk:主要为语音识别库,但支持语音生成插…

基因组学与个性化健康:精准医疗的未来方向

基因组学(Genomics)是指对基因组,即一个生物体的全部基因和遗传信息进行分析和研究的科学,旨在探索基因在生物体中的功能、相互作用及其对健康和疾病的影响。个性化健康(Personalized Health)则是基于个体的…

BERT 模型在句子分类任务中的作用分析笔记

在以数字(如 1、2、3、4、5 等)为标签的句子分类任务中,BERT 各层结构和功能的分析如下: 模型结构和作用 Embedding 层 Token Embedding:将词汇映射到向量空间中,每个词汇被表示为一个固定维度的向量&…

架构零散知识点

1 数据库 1.1 数据库范式 有一个学生表,主键是学号,含有学生号、学生名、班级、班级名,违反了数据库第几范式? --非主属性不依赖于主键,不满足第二范式 有一个订单表,包含以下字段:订单ID&…

一:Linux学习笔记(第一阶段)-- 安装软件 vmware workstation 虚拟机软件 centos系统

目录 学习计划: 资源准备 虚拟机软件:就别自己找了 现在换网站了 下载比较费劲 Centos8: 阿里云镜像地址下载(下载比较版 但是有不同版本):centos安装包下载_开源镜像站-阿里云 百度网盘地址&#xff…

多模态大模型微调实践!PAI+LLaMA Factory搭建AI导游

一、引言 AI的快速发展推动了各行各业的智能化转型和创新,随之而来的是对AI应用的迫切需求。 如何微调大模型、高效搭建AI应用成为了开发者们广泛关注的技术方向。阿里云人工智能平台PAI,联合开源低代码大模型微调框架LLaMA Factory ,共同打…

情怀系列国际版棋牌完整源码具备强大的多语言扩展功能,涵盖了900多款子游戏,专为全球市场的游戏开发和运营设计。

情怀棋牌源代码的服务器端使用JAVA和Node.js开发,采用RocketMQ作为消息队列中间件,有效防止服务器堵塞、消峰。数据库使用MySQL,媒体存储采用MongoDB,缓存系统使用Redis。管理后台则采用PHP语言开发。 客户端使用Cocos Creator进…

51单片机教程(三)- 了解开发板

1、单片机 单片机(Micro Controller Unit,简称 MCU)内部集成了 CPU、RAM(Random Access Memory,随机存储器:与CPU直接交换数据的内部存储器-可随时读写)、ROM(Read-Only Memony&…