文章
- LeetCode 筆記 - 2849. Determine if a Cell Is Reachable at a Given Time 探討 LeetCode 2849 題,在無限大的格狀地圖中,給定起點、終點與時間,判斷是否能在指定時間內精確抵達目標。本文介紹解題思路,重點在於計算兩點間的最短 Chebyshev 距離並考慮特殊路徑情況。
- LeetCode 筆記 - 2075. Decode the Slanted Ciphertext 針對 LeetCode 第 2075 題,本篇筆記介紹了傾斜轉置密碼(Slanted Transposition Cipher)的解密過程。解題的核心在於直接模擬轉換邏輯,並透過操作索引而非頻繁更動字串內容,來優化執行速度。對於對古典密碼學模擬感興趣的讀者,這是一篇不錯的實作參考。
- LeetCode 筆記 - 1921. Eliminate Maximum Number of Monsters 在這篇 LeetCode 第 1921 題的筆記中,我們探討了如何在怪物抵達堡壘前盡可能地將其消滅。解題關鍵在於預先計算每個怪物的到達時間並進行排序,以此制定最佳的攻擊順序。本文透過淺顯易懂的邏輯,帶領讀者掌握貪婪演算法在實戰中的應用。
- Python - bisect 模組介紹 詳解 Python 內建的 bisect 模組,這是一個專門處理二元搜尋與維持串列排序狀態的強大工具。本文介紹 bisect_left、bisect_right 以及 insort 等函數用法,幫助您在開發時更有效率地操作排序資料。
- Python - 二元搜尋法 介紹二元搜尋 (Binary Search) 的核心概念與演算法實作。二元搜尋適用於已排序陣列,其時間複雜度為 O(log n),效率遠高於線性搜尋。本文深入淺出說明搜尋流程與邊界處理細節。
- Python - List 介紹 快速回顧 Python 最基礎且靈活的資料結構 —— List。本文涵蓋 List 的初始化、常用操作方法及切片 (Slicing) 技術,並提醒一些常見的性能陷阱,是 Python 開發者不可或缺的基本功筆記。
- LeetCode 筆記 - 1845. Seat Reservation Manager 本文介紹了如何設計一個座位預約管理系統,對應 LeetCode 第 1845 題。核心挑戰在於如何快速找出最小的可用座位,文中展示了使用 Python 內建的堆積(Heap)模組以及自行實作二元搜尋兩種方式,適合想深入理解資料結構運用的開發者參考。
- LeetCode 筆記 - 1535. Find the Winner of an Array Game 本篇文章記錄了 LeetCode 第 1535 題的解題思路。題目要求在一個數列中模擬遊戲規則,找出第一個連續贏得指定次數的數字。文中介紹了如何利用索引模擬移動過程的小技巧,避免頻繁的陣列操作,進而大幅提升程式執行效率。
- LeetCode 筆記 - 2369. Check if There is a Valid Partition For The Array LeetCode 第 2369 題要求判斷陣列是否能被有效分割,這是一個典型的動態規劃(Dynamic Programming)問題。文中詳細拆解了三個判斷條件,並逐步引導讀者建立 DP 狀態轉移方程,讓看似晦澀難懂的演算法邏輯變得清晰易懂,是訓練邏輯思維的良好範例。
- LeetCode 筆記 - 919. Complete Binary Tree Inserter 介紹如何實作一個完全二元樹 (Complete Binary Tree) 的插入器類別。本文分析如何有效率地尋找下一個插入位置的父節點,並透過佇列 (Queue) 維持結構特性,確保每次插入都能符合完全二元樹的定義。