DAY 7|算法篇——栈与队列(及重温数组篇章有感)

今天本来应该写两道题把这一章节结束掉,奈何第二题前k个高频元素需要用的二叉树相关代码实在不会写(倒是能看懂)等我学完二叉树再把这道题亲自写一遍吧

今天工作量比较小,准备从第一天的任务开始把题目重新再做一遍

239. 滑动窗口最大值 - 力扣(LeetCode)

class Solution {private:class MyQueue{public:deque<int> que;void pop(int value){if(!que.empty()&&que.front()==value){que.pop_front();}}void push(int value){while(!que.empty()&&value>que.back()){que.pop_back();}que.push_back(value);}int front(){return que.front();}};
public:vector<int> maxSlidingWindow(vector<int>& nums, int k) {MyQueue que;vector<int>result;for(int i=0;i<k;i++){que.push(nums[i]);}result.push_back(que.front());for(int i=k;i<nums.size();i++){que.pop(nums[i-k]);que.push(nums[i]);result.push_back(que.front());}return result;}
};

主要思路:

1.如果push进来的元素比队尾的元素大,则弹出队尾元素,直到队列最后一个数大于该元素,从而保持单调队列里的单调递减。

2.当窗口要移除的元素等于队头的元素时,pop出去当前队首的元素,使得队列中当前最大的数不会一直存在

今天把数组篇章的题全部重做了一遍,出乎意料的是没有一道题是一次性写对的,总是错一些细节性的地方,关于双指针的理解更是忘得一塌糊涂,不敢想后面的篇章还记得多少。。。果然做过的题要时常温习,我感觉这次重做后对知识点的理解又深入了一层(即便第一次做的时候我已经感到自己理解的很透彻了),最后,代码一定要多写,最好一次性写完中间不看答案,只有自己写出来才能知道哪些地方理解不到位,哪些细节没有考虑到。最后,明天重做链表章节题目!以后在正常学习计划之外每天复习一章节,过完一轮再过一轮,直到题目可以一次性写对为止

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/915874.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/915874.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

go语言基础与进阶

&#x1f680; Go语言终极高手之路&#xff1a;从基础到架构的终极指南 Go语言&#xff0c;以其简洁的语法、卓越的性能和原生的并发模型&#xff0c;席卷了云原生和后端开发领域。然而&#xff0c;要真正驾驭Go&#xff0c;仅仅停留在会写if-else和for循环是远远不够的。真正的…

Oracle数据恢复—Oracle数据库所在分区被删除后报错的数据恢复案例

Oracle数据库数据恢复环境&故障&#xff1a; 一台服务器上一个分区存放Oracle数据库数据。由于管理员误操作不小心删除了该分区&#xff0c;数据库报错&#xff0c;无法使用。 北亚企安数据恢复工程师到达现场后&#xff0c;将故障服务器中所有硬盘以只读方式进行完整镜像。…

Prometheus+altermanager搭配钉钉报警

一、Prometheus介绍 Prometheus是一个开源系统监控和警报工具包&#xff0c;最初在 SoundCloud构建。自 2012 年成立以来&#xff0c;许多公司和组织都采用了 Prometheus&#xff0c;该项目拥有非常活跃的开发者和用户社区。它现在是一个独立的开源项目&#xff0c;独立于任何…

【小白量化智能体】应用6:根据通达信指标等生成机器学习Python程序

【小白量化智能体】应用6&#xff1a;根据通达信指标等生成机器学习Python程序 【小白量化智能体】是指能够自主或半自主地通过与环境的交互来实现目标或任务的计算实体。智能体技术是一个百科全书&#xff0c;又融合了人工智能、计算机科学、心理学和经济学等多个领域的知识&a…

k8s的calico无法启动报错解决

报错信息[INFO][1] main.go 138: Failed to initialize datastore errorGet "https://10.245.0.1:443/apis/crd.projectcalico.org/v1/clusterinformations/default": dial tcp 10.245.0.1:443: connect: no route to host 2025-07-21 06:15:42.055 [FATAL][1] main.…

MySQL多表查询中的笛卡尔积问题

精选专栏链接 &#x1f517; MySQL技术笔记专栏Redis技术笔记专栏大模型搭建专栏Python学习笔记专栏深度学习算法专栏 欢迎订阅&#xff0c;点赞&#xff0b;关注&#xff0c;每日精进1%&#xff0c;与百万开发者共攀技术珠峰 更多内容持续更新中&#xff01;希望能给大家带来…

深度解析 HTML `loading` 属性:优化网页性能的秘密武器

在开发网页时&#xff0c;我常常被页面加载速度慢的问题困扰&#xff0c;尤其是在图片和嵌入内容较多的页面上。用户还没看到内容就可能因为等待时间过长而离开&#xff0c;这对用户体验和 SEO 都是致命打击。后来&#xff0c;我发现了 HTML 的 loading 属性——一个简单却强大…

[C/C++内存安全]_[中级]_[安全处理字符串]

场景 在现代C开发指南出来后&#xff0c;并不建议使用C的某些内存不安全的字符串处理函数。那么有哪些函数不安全&#xff1f; 说明 内存安全方面&#xff0c;肯定是要向Rust看齐的。使用标准std::string字符串类&#xff0c;很大情况能避免缓冲区溢出问题。 如果旧项目里有…

【CNN】卷积神经网络- part1

1.卷积1.局部连接定义&#xff1a;只是于输入数据的一部分区域相连&#xff0c;每个神经元只关注一小部分作用&#xff1a;模仿人类的视野机制&#xff0c;极大的减少了模型参数的数量&#xff0c;降低了计算成本2.权重共享定义&#xff1a;所有神经元使用相同的权重向量来检测…

漏洞生命周期管理:从发现到防护的全流程方案

漏洞并非孤立存在&#xff0c;而是遵循 “发现→评估→修复→验证→闭环” 的生命周期。多数企业安全事件的根源并非缺乏漏洞发现能力&#xff0c;而是对漏洞生命周期的管理缺失 —— 大量漏洞被发现后长期未修复&#xff0c;或修复后未验证效果。构建全流程漏洞生命周期管理体…

opencv图像基本操作解析与实操

图片操作cv2.namedWindow() 创建命名窗口cv2.imshow()显示窗口cv2.destroyAllwindws()摧毁窗口cv2.resizeWindow()改变窗口大小cv2.waitKey()等待用户输入cv2.imread()读取图像img.shape 图片h、w、c&#xff08;高、宽、通道数import cv2 # opencv读取的格式是BGR import m…

kafka--基础知识点--6.1--LEO、HW、LW

在 Apache Kafka 中&#xff0c;LEO&#xff08;Log End Offset&#xff09;、HW&#xff08;High Watermark&#xff09;、和 LW&#xff08;Low Watermark&#xff09; 是副本机制和日志管理中的核心概念&#xff0c;共同确保数据一致性、可见性和存储效率。以下是它们的详细…

在线深凹槽深检测方法都有哪些 —— 激光频率梳 3D 轮廓检测

引言在制造业中&#xff0c;深凹槽深度的精确检测是保证零部件质量的关键环节。随着智能制造的推进&#xff0c;在线检测需求日益迫切&#xff0c;传统检测方法在效率和精度上的不足逐渐显现。本文将梳理在线深凹槽深的传统检测方法&#xff0c;并重点探讨激光频率梳 3D 轮廓检…

NumPy 数组拼接的高级技巧与实践

在数据处理和机器学习领域&#xff0c;NumPy 是 Python 中最核心的科学计算库之一。NumPy 数组&#xff08;ndarray&#xff09;的拼接操作是数据预处理中极为常见的需求。本文将深入探讨如何将不同形状的 NumPy 数组进行拼接&#xff0c;特别是如何将多个一维数组与二维数组进…

原创-基于 PHP 和 MySQL 的证书管理系统 第三版

第一版属于开源版本&#xff0c;所以后台功能没有开发许多出来&#xff0c;今天分享证书查询第三版&#xff1b; 通过几天的紧急写代码及测试&#xff1b;第三版基本可以上线上&#xff0c;不过后面有一些BUG只能一边修复。 演示地址&#xff1a;物星科云证书管理系统 第三版…

爬虫虚拟环境

conda create --name myrepenv python3.12创建一个名为 myrepenv、Python 版本为 3.12 的全新 Conda 虚拟环境&#xff0c;适合需要隔离依赖或测试不同 Python 版本的项目。我的方式创建(需要指定盘符)conda create --prefixD:\Anaconda3\envs\myrepenv python3.12展示所下的co…

Netty集群方案详解与实战(Zookeeper + Redis + RabbitMQ)

一、背景 二、Netty 单体架构的优缺点 优点 缺点 三、Netty 集群架构的优缺点 优点 缺点 四、适用场景对比 五、Netty单体架构代码实现 六、Netty集群架构方案实现 方案一、Nginx负载均衡实现集群(较为简单) Nginx配置 前端连接方式 方案二、NacosGateway&#xff08;结合…

Oracle迁移到高斯,查询字段默认小写,解决办法

一、问题说明 Oracle中&#xff0c;查询结果字段默认大写。高斯中&#xff0c;查询结果字段默认小写。在Mybatis的xml中&#xff0c;如果查询语句使用Map接收查询结果&#xff0c;使用resultType"java.util.HashMap"或resultType"Map"等写法&#xff0c;返…

Android Jetpack Compose + MVVM 开发流程深度分析

核心组件关系图 [View] -- 观察 --> [ViewModel] -- 操作 --> [Repository]| | Compose UI StateFlow/LiveData| | 用户交互事件 Room/Retrofit| …

Tailwind CSS快速上手 Tailwind CSS的安装、配置、使用

&#x1f4da;前言 在Web前端开发的历史长河中&#xff0c;CSS的编写方式经历了多次演进&#xff0c;从早期的原生CSS 到 CSS预处理(Less/Sass/Stylus) 到 CSS-in-JS(Styled-Components/Emotion) 再到 Utility-First 原子化CSS。每一种演进方案其本质都是围绕“开发效率”、“…