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
英文地址,請注明出處:http://en.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。每一種演進方案其本質都是圍繞“開發效率”、“…