【棧 - LeetCode】739.每日溫度

739. 每日溫度 - 力扣(LeetCode)

題解

暴力+技巧

官網給的一個暴力遍歷的方式,技巧點在于,溫度的最大值是 100, 因此里面的 for 循環可以通過控制最大是到 100 來降低時間復雜度。

class Solution {
public:vector<int> dailyTemperatures(vector<int>& temperatures) {int n = temperatures.size();vector<int>ans(n), next(101, INT_MAX);for(int i = n - 1; i >= 0; i --){int index = INT_MAX;for(int t = temperatures[i] + 1; t <= 100; t ++){index = min(index, next[t]);}if(index != INT_MAX){ans[i] = index - i;}next[temperatures[i]] = i;}return ans;}
};

單調棧

棧中存儲還沒有被找到的 滿足條件的 第 x 天。

如果是遞增序列,棧中始終就一個元素,不斷移入移出。

如果是非遞增,則一直入棧,找到第一個大于棧頂的,再依次出棧判斷。

class Solution {
public:vector<int> dailyTemperatures(vector<int>& temperatures) {int n = temperatures.size();vector<int> ans(n);stack<int> s;for (int i = 0; i < n; i++) {while (!s.empty() && temperatures[i] > temperatures[s.top()]) {int index = s.top();ans[index] = i - index;s.pop();}s.push(i);}return ans;}
};

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/94549.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/94549.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/94549.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【無標題】對于11維拓撲量子色動力學模型來解決納維爾-斯托克斯方程(N-S方程)全局光滑解存在性的論證可行性,從數學和物理角度進行的嚴謹、系統性論證與分析。

對于11維拓撲量子色動力學模型來解決納維爾-斯托克斯方程&#xff08;N-S方程&#xff09;全局光滑解存在性的論證可行性&#xff0c;從數學和物理角度進行的嚴謹、系統性論證與分析。評價與核心思想該證明的核心思想是將三維流體的湍流動力學視為一個更高維&#xff08;11維&a…

樸素貝葉斯三大概率模型學習總結與手寫數字識別實踐

一、樸素貝葉斯模型分類與核心原理樸素貝葉斯算法的核心是基于 “特征條件獨立性假設”&#xff0c;通過貝葉斯公式計算后驗概率實現分類。根據特征數據類型的差異&#xff0c;衍生出三大經典模型&#xff0c;分別適用于不同場景&#xff0c;其核心區別在于對 “特征條件概率”…

學習Java26天(線程方法和線程安全)(synchronized)

170/199線程安全問題同步代碼塊同步方法以及lock鎖同步方法Lock鎖finally不管上面是否異常都會執行

網絡協議---TCP

一、UDP協議1. 核心特點數據傳輸方式&#xff1a;面向數據包傳輸。連接特性&#xff1a;無需建立連接即可通信。可靠性&#xff1a;盡最大努力交付&#xff0c;存在數據丟包、亂序等問題&#xff0c;安全性和可靠性較低。傳輸范圍&#xff1a;支持一對一、一對多的傳輸模式。資…

構建AI智能體:十三、大數據下的“搭積木”:N-Gram 如何實現更智能的語義搜索

一、什么是 N-gram核心定義&#xff1a;N-gram 是來自給定文本或語音序列的 N 個連續項&#xff08;如單詞、字符&#xff09; 的序列。它是一種通過查看一個項目的前后文來建模序列的概率模型。N&#xff1a; 代表連續項的數量。項&#xff08;Item&#xff09;&#xff1a; 通…

嵌入式系統學習Day22(進程)

無人機運行程序&#xff0c;時間貼合阻塞態&#xff1a;程序運行到scanf或gets時的狀態linux是搶占式操作系統&#xff0c;優先級高的調度高&#xff0c;優先級相同在同樣時間內調度相同ip為指針&#xff0c;指向目前已讀到進程的位置&#xff0c;回寫到磁盤&#xff0c;進行下…

【51單片機】【protues仿真】基于51單片機冰箱系統

目錄 一、主要功能 二、使用步驟 三、硬件資源 四、軟件設計 五、實驗現象 一、主要功能 1、LCD1602液晶顯示冷藏冷凍溫度值 2、按鍵設置溫度閾值? 3、冷藏或冷凍溫度高于閾值啟動制冷片 4、限位器開關檢測門狀態&#xff0c;開門過長蜂鳴器警報 5、狀態指示燈&#xf…

征程 6X 常用工具介紹

一、采集/設置系統信息的工具集 獲取開發板 SOM 狀態工具 [LINUX] hrut_somstatus 是用來獲取當前開發板SOM狀態的工具&#xff0c;包含溫度、 cpu頻率、bpu狀態。 用法&#xff1a; hrut_somstatus [-n count] [-d second]獲取開發板boardid工具 [LINUX] hrut_boardid 是用來獲…

數字隔離器:新能源系統的安全與效能革命

在新能源技術高速發展的浪潮中&#xff0c;高壓、高頻、高可靠性的需求對系統設計提出全新挑戰。傳統隔離器件受限于響應速度、抗干擾能力及體積限制&#xff0c;逐漸難以滿足光伏發電、電動汽車、儲能系統等場景的嚴苛要求。數字隔離器以創新的半導體技術為核心&#xff0c;通…

算法訓練營day58 圖論⑧ 拓撲排序精講、dijkstra(樸素版)精講

本篇應該是圖論的經典部分了&#xff0c;本篇的內容作為小白沒有了解過&#xff0c;但是至少會聽說過——拓撲排序精講、dijkstra&#xff08;樸素版&#xff09;精講。 拓撲排序精講 本題是拓撲排序的經典題目。一聊到 拓撲排序&#xff0c;一些錄友可能會想這是排序&#xf…

如何在日常開發中高效使用 Copilot

網羅開發&#xff08;小紅書、快手、視頻號同名&#xff09;大家好&#xff0c;我是 展菲&#xff0c;目前在上市企業從事人工智能項目研發管理工作&#xff0c;平時熱衷于分享各種編程領域的軟硬技能知識以及前沿技術&#xff0c;包括iOS、前端、Harmony OS、Java、Python等方…

使用Docker部署Coze Studio開源版

1、安裝Docker# 安裝Docker https://docs.docker.com/get-docker/# 安裝Docker Compose https://docs.docker.com/compose/install/# CentOS安裝Docker https://mp.weixin.qq.com/s/nHNPbCmdQs3E5x1QBP-ueA2、安裝Coze Studio詳見&#xff1a;https://github.com/coze-dev/coze…

深度剖析Spring AI源碼(九):構建企業知識庫,深入ETL與RAG實現

深度剖析Spring AI源碼&#xff08;九&#xff09;&#xff1a;構建企業知識庫&#xff0c;深入ETL與RAG實現 “Data is the new oil, but like oil, it’s valuable only when refined.” —— 在AI時代&#xff0c;原始數據需要經過精心的ETL處理才能成為AI的"燃料"…

C# 簡單工廠模式:構建靈活與可擴展的面向對象程序

在面向對象編程&#xff08;OOP&#xff09;的世界中&#xff0c;簡單工廠模式&#xff08;Simple Factory Pattern&#xff09; 是一種非常常見且實用的設計模式。雖然它并不屬于GoF&#xff08;Gang of Four&#xff09;定義的23種經典設計模式之一&#xff0c;但它是理解更復…

全面解析JVM預熱:原理、價值與實踐指南

在Java應用的性能優化領域,“JVM預熱”是一個常被提及卻容易被忽視的關鍵環節。尤其是在高并發、低延遲的業務場景中,未經過充分預熱的JVM可能導致應用啟動初期出現響應延遲、吞吐量波動甚至服務不可用的問題。本文將從JVM預熱的核心原理出發,深入剖析其價值、常見實現方案及…

數學建模-灰色關聯分析(GRA)

目錄 1-AI帶你認識GRA &#x1f4d8; 一、灰色關聯分析&#xff08;GRA&#xff09;簡介 1. 什么是灰色關聯分析&#xff1f; 2. 核心思想&#xff08;通俗理解&#xff09;&#xff1a; 3. 與熵權法的對比&#xff08;快速類比&#xff09;&#xff1a; &#x1f9e9; 二…

Shell腳本-expect

一、前言在 Linux 系統管理與自動化運維中&#xff0c;我們經常需要編寫 Shell 腳本來完成各種任務。但有些命令&#xff08;如 ssh、scp、passwd、ftp 等&#xff09;在執行時會等待用戶手動輸入密碼或確認信息&#xff0c;這就導致腳本無法完全自動化運行。為了解決這個問題&…

Conmi的正確答案——Ubuntu24.04禁用任何休眠

系統&#xff1a;Ubuntu 24.04步驟一、禁用系統休眠服務 # 禁用所有休眠/待機相關服務&#xff08;立即生效&#xff09; sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target # 驗證狀態&#xff08;顯示 "masked" 即成功&am…

開源 C++ QT Widget 開發(二)基本控件應用

文章的目的為了記錄使用C 進行QT Widget 開發學習的經歷。臨時學習&#xff0c;完成app的開發。開發流程和要點有些記憶模糊&#xff0c;趕緊記錄&#xff0c;防止忘記。 相關鏈接&#xff1a; 開源 C QT Widget 開發&#xff08;一&#xff09;工程文件結構-CSDN博客 開源 C…

今日科技風向|從AI芯片定制到閱兵高科技展示——聚焦技術前沿洞察

今日科技風向&#xff5c;從AI芯片定制到閱兵高科技展示——聚焦技術前沿洞察 一、NVIDIA 開發“黑曜”子版 AI 芯片 B30A&#xff0c;瞄準中國市場 今日報道指出&#xff0c;NVIDIA 正在研發一款面向中國市場的定制芯片 B30A&#xff0c;基于其先進的 Blackwell 架構&#xff…