原文題目 Given an integer array nums and an integer k, return the kth largest elemen...
堆積(Heap) 是一種特殊且完整的二元樹,可分為最大/小堆積樹兩種。最大堆積樹中所有節點的值都大或等於它左右子節點的值,這兩種樹的樹根(root)是其堆積樹中...
原文題目 You are given a 0-indexed array of integers nums of length n. You are initi...
原文題目 You are given an integer array nums. You are initially positioned at the ar...
原文題目 You are given an array prices where prices[i] is the price of a given stock...
貪婪演算法(Greedy Algorithm) 又稱作貪心法,簡單來說,此演算法是在每一個步驟使用貪心原則,只考慮當前情況的前提下選擇最優解法。其精神在於「只做...
原文題目 Given a string s and a dictionary of strings wordDict, return true if s can...
原文題目 You are a professional robber planning to rob houses along a street. Each h...
原文題目 You are climbing a staircase. It takes n steps to reach the top. Each time...
動態規劃(Dynamic Programming) 動態規劃是一種有效率計算由子問題堆疊而成的演算法,是一種常見的解題方式。透過將問題分解成許多可以利用簡單方法...
原文題目 You are given an m x n integer matrix matrix with the following two propert...
原文題目 Given a sorted array of distinct integers and a target value, return the in...
原文題目 There is an integer array nums sorted in ascending order (with distinct val...
二元搜尋法(Binary Search),又稱作二分搜尋法、對數搜尋,是一個在已排序的序列中,快速找出特定元素的搜尋演算法。此種搜尋法會先將各元素做排序,並且每...
緣起 又來到了痛苦的鐵人賽發文季,老實說忘記去年為何沒參加了XD不過最近剛好在上線上課程資料結構與演算法 (JavaScript),覺得可以來記錄一下,順便看看...
先比對樣式的最後一個字元,再從頭開始比對 def match(pat,txt): lastt=len(txt)-1 lastp=len(pat)...
給定兩個稀疏矩陣,並用三元序對表示: sparse1 = [ [5, 6, 4], [1, 2, 3],...
給定三元序對 sparse1 = [ [5, 6, 4], [1, 2, 3],...
終於到最後一天了,在這過程中有著無數次催隊友快點發文,也有幾次差點忘記需要寫文,甚至最近因為社團的事情和比賽沒有什麼時間可以寫文章,所以內容越來越簡單,不過終究...
起點與動機 在三十天前,我參加了 IT 鐵人賽,起初的動機很簡單,因為身邊有人要組隊報名,一時衝動就報了。經過這次比賽,我發現真的!透過寫作可以鞏固自己的知識基...
Disjoint-set Data Structure 主要特性 Disjoint-set(並查集)是一種數據結構,用於追蹤和管理多個不相交的集合。其核心功能是...
Priority Queue 主要特性 Priority Queue(優先隊列)是一個特別的資料結構,主要用於管理一組有序的元素。這些元素根據其優先級進行排序,...
Set Set 資料結構的主要特性是「元素的獨特性」和「無序性」。這個特性就像我們在生活中遇到的集合:每個元素都是獨特的,並且集合中的元素沒有特定的順序。 將其...
Queue Queue 資料結構的主要特性是「First-In-First-Out」(FIFO)。這個特性就像我們排隊等待服務:最早來的人將是最早得到服務的人。...
Stack Stack 資料結構的主要特性是「Last-In-First-Out」。這個特性就好像我們使用一個只能從頂部取放物品的盒子。 為了更加具體化這個概念...
資料結構是電腦科學中一個關鍵概念,它是關於如何以特定的方式組織和存儲數據,以便能夠有效地訪問和修改。資料結構不僅僅是關於數據的存儲,而是提供了一種在數據上執行操...
更多分治例題 快速冪 快速冪算法是一種高效計算大整數指數冪的方法。傳統的方法是通過連續乘法來計算 a 的 b 次方,但當 b 非常大時,這種方法的效率非常低。快...
完賽心得 今年參加鐵人賽,個人感覺是水過一年的感覺XD,因為就只是把解題的練習記錄複製貼上來,但今年因為沒有備太多天的稿,所以在時程的壓力下,的確有達到督促自己...