1. Two Sum (Easy) Question Given an array of integers nums and an integer target...
本系列將使用 JavaScript 來撰寫程式,文中也會穿插英文讓讀者盡量熟悉這些單詞,未來在看相關題目時能夠幫助理解。 什麼是演算法與資料結構 演算法指...
回顧 & 總結 今天是最後一天了,來回顧一下這些日子分享及學習的內容,雖然是寫LeetCode的題目為主,但在過程中每天的題目是有選過主題的,一天一天都...
今日題目 題目連結:653. Two Sum IV - Input is a BST 題目主題:Hash Table, Two Pointers, Tree,...
今日題目 題目連結:1. Two Sum 題目主題:Array, Hash Table 簡單說說 Hash Table Hash Table 主要的核心概念是...
經過了漫長的30天,終於完賽了,好險暑假有先屯個15篇,要不應該是沒辦法完賽了,由衷地佩服那些真的每日一篇的大大們~~ 一開始參加鐵人賽的動機是覺得大一念完,覺...
今日題目 題目連結:572. Subtree of Another Tree 題目主題:Tree, Depth-First Search, String Mat...
搜尋(Search) 就是從一群資料中找出符合某些條件的資料,當資料量非常龐大時,如何在短時間內有效率地找到所要的資料,因此,搜尋演算法就變得相當重要。 線性...
DFS介紹 與昨天BFS不同的地方在於,BFS是給定一個節點s,接著找到s可以到達的所有節點,而DFS是遍歷整張圖,如果我們給定特定的節點s,我們使用BFS可能...
前言 如果昨天是資料結構,那今天必然是來討論演算法啦! 「演算法」是另一個會讓許多非本科系的 developer 嚇到的詞彙,會覺得好像是很高深難懂的技術,應該...
今日題目 題目連結:53. Maximum Subarray 題目主題:Array, Divide and Conquer, Dynamic Programmi...
BFS簡介 BFS是用來遍歷一張圖的最簡單演算法,也是很多在圖論演算法的原型,許多演算法都是基於BFS,像是Prim最小生成樹,Dijkstra演算法等等。 給...
今日題目 題目連結:53. Maximum Subarray 題目主題:Array, Divide and Conquer, Dynamic Programmi...
桶排序法(Bucket Sort),與前面幾篇的排序法不一樣,前面都是經由兩兩互相比較而成的排序,稱為比較排序法,而桶排序是非比較排序,屬於「分配性」的排序。原...
圖(Graph)的表示 圖(Graph) 圖,是一種記錄節點和節點之間關連的表示法。對於圖,表示是由集合和集合共同構成的集合,集合中的元素為圖中的節點,故又稱點...
今日題目 題目連結:605. Can Place Flowers 題目主題:Array, Greedy 昨天介紹了 Greedy 的基本概念,今天會在練習一題以...
堆積排序法(Heap Sort)原理是利用「堆積」的資料結構為基礎來完成排序。 堆積的介紹可以參考此篇。 操作流程(最大堆積為例): 將陣列轉換最大堆積(...
open addressing概念 前面提到,在Hash table中發生碰撞時,我們會使用chaining的方式處理,也就是在每一個slot中建立一個link...
今日題目 題目連結:1974. Minimum Time to Type Word Using Special Typewriter 題目主題:String,...
快速排序法(Quick Sort)又稱分割交換排序法,是目前公認效率極佳的演算法,使用了分治法(Divide and Conquer)的概念。原理是先從原始資料...
今日題目 題目連結:1863. Sum of All Subset XOR Totals 題目主題:Array, Backtracking, Bit Manip...
Hash function 一個好的雜湊函數,可以把均勻的分佈在雜湊表的每一個slot中,也就是盡量滿足簡單均勻雜湊的假設,而且分布的均勻性,不會受到元素的影響...
合併排序法(Merge Sort)原理是會先將原始資料分割成兩個資料列,接著再將兩個資料繼續分割成兩個資料列,依此類推,直到無法再分割,也就是每組都只剩下一筆資...
字典(Dictionary) 抽象資料結構 在字典裡,有個物品,每一樣東西都會跟隨著一個(假設物品和物品之間,不會有相同的),我們可以透過去找出我們想要的物品,...
今日題目 題目連結:401. Binary Watch 題目主題:Backtracking, Bit Manipulation 簡單說說 Backtracki...
希爾排序法(Shell Sort)是插入排序(Insertion Sort)的改良版。可減少插入排序的資料搬移次數,加入了間距(Gap)的概念將資料分成多個小區...
樹的高度(height of the tree) 在Binary Search tree中,我們知道我們可以在的時間內,完成Delete, find min,...
今日題目 題目連結:1566. Detect Pattern of Length M Repeated K or More Times 題目主題:Array,...