stack

N1ce2cu發表於2024-08-20

Stack

  • 特性:LIFO( Last In First out)
  • 適用於需要記錄之前的狀態,必要的時候可以回到之前的狀態,或者利用之前的值
  • 不像array,不能用 index訪問,只能每次拿棧頂元素
    題外話:動態規劃 Dynamic Programming
  • DP:記錄之前所有狀態,隨時可能訪問任何一個子問題,所以通常用Array或者
    Hash Table,而且不會回到之前的狀態,只會利用之前的值
  • Stack:每次只需要棧頂元素,並且每個狀態只會被用O(1)次
    在這裡插入圖片描述
    Stack,類似遞迴呼叫,儲存歷史狀態,但是隻能用一次;
739.查詢下一個比自身大的溫度值的距離
stack的定義:在arr[i]右邊並且比其大的單調遞增棧
棧頂元素:就是該元素比自身大的最近一個元素

在這裡插入圖片描述

735.活下來的碰撞
棧的定義:當前i為止,活下來的所有小星星
棧頂的元素:上一次活下來的小星星

在這裡插入圖片描述
在這裡插入圖片描述

相關文章