A ALGO / ANIMATION LAB
瀏覽所有動畫
Interactive algorithm animations

讓演算法,一步一步動起來。

選一道題目,搭配程式碼觀察每一步的變化。

所有動畫

19 個動畫
0092

Reverse Linked List II

逐步反轉指定區間的 next 指標,再接回串列兩端。

MediumLinked List指標操作
開啟互動動畫
0146

LRU Cache

節點方塊與指標箭頭:看 put / get 時 prev、nxt 與字典怎麼改。

MediumHash MapDoubly Linked List
開啟互動動畫
0207

Course Schedule

把先修關係畫成有向圖,看 indeg 歸零排隊、循環讓課永遠修不到。

MediumTopological SortBFS · indeg
開啟互動動畫
0208

Implement Trie · Prefix Tree

用圓圈與字母連線,探索插入、搜尋及前綴查詢。

MediumTriePrefix Tree
開啟互動動畫
0238

Product of Array Except Self

兩趟前後綴累乘,不用除法求出除自身以外的乘積。

MediumPrefix Product兩趟掃描
開啟互動動畫
0309

Best Time to Buy and Sell Stock with Cooldown

buy、sell、rest 三狀態逐日轉移,賣出後冷卻一天。

MediumDynamic Programming狀態機
開啟互動動畫
0394

Decode String

逐字掃描,用堆疊保存外層狀態,展開巢狀編碼。

MediumStack巢狀字串
開啟互動動畫
0494

Target Sum

正負號轉成子集合計數,dp 由右往左累加方法數。

MediumDynamic Programming0/1 背包
開啟互動動畫
0560

Subarray Sum Equals K

用前綴和與雜湊表,計算總和為 k 的連續子陣列。

MediumPrefix SumHash Map
開啟互動動畫
0621

Task Scheduler

以堆積分輪執行任務,觀察冷卻與 idle 時槽。

MediumHeapCooldown
開啟互動動畫
0658

Find K Closest Elements

二分搜尋最佳視窗起點,找出最接近目標的 k 個元素。

MediumBinary Search固定長度視窗
開啟互動動畫
0678

Valid Parenthesis String

把 lo、hi 畫成可能範圍,看 * 撐開、跌破地板的可能被剪掉。

MediumGreedy範圍追蹤
開啟互動動畫
0684

Redundant Connection

邊一條條加入,看 parent 森林合併、路徑壓縮,抓出造成環的邊。

MediumUnion FindGraph
開啟互動動畫
0739

Daily Temperatures

用單調堆疊等待更暖的一天,逐步回填索引差。

MediumMonotonic Stack等待天數
開啟互動動畫
0767

Reorganize String

用負頻率堆積與暫存字元,避免相鄰字元重複。

MediumHeapGreedy
開啟互動動畫
0853

Car Fleet

依位置排序,比較抵達時間,逐步觀察車隊形成。

MediumSortingGreedy · 車隊合併
開啟互動動畫
0875

Koko Eating Bananas

二分搜尋最小速度,逐堆向上取整計算時間。

MediumBinary Search答案二分
開啟互動動畫
0978

Longest Turbulent Subarray

把陣列畫成折線,看 up、down 兩條鏈互相接力與斷開。

MediumDynamic Programming震盪折線
開啟互動動畫
1011

Capacity to Ship Packages

依序裝船、超重換天,二分搜尋最小載重。

Medium Binary Search 裝載模擬
開啟互動動畫