一種排序資料的方式,實務上不太常使用,除了某些特定情境。相對於其他排序方式,Bubble Sort 效能較差。 儘管如此,作為基礎中的基礎,最好還是要理解其概念...
前言 這題主要運用到二分搜尋法,是 704. Binary Search 的變化題,目標是找到一個旋轉陣列中指定元素的陣列,用到一個 while 迴圈和其餘...
前言 這題是一題把陣列當成類似 linked list 的題目,目標是找到陣列中重複的元素,因它只對陣列進行了兩次循環,而每次循環都是線性時間的運作,時間複...
32. Longest Valid Parentheses Solution 1: Stack class Solution: def longestV...
學習原因: 已經有寫程式的基本能力,需要開始對程式的效能有點概念。雖然說先求有,再求好,但也得知道什麼是好。不要求每次都寫出最佳解,但至少要學會判斷哪個比較好。...
前言 這題學習目標是 Prefix Sums 前綴和的概念, Prefix Sums 通常用於需要頻繁查詢陣列中某一區間的元素和的情況,這裡目標是找到一個陣...
Multiple Pointers 技巧是透過建立 pointer 變數代表目前指到哪個位置 (index)。使用兩個 pointer 代表目前查找的位置與範圍...
有了昨天的介紹後,我們今天來介紹它們的演算法! Counting Sort Counting Sort 是一種用於排序一組數字的演算法,它主要適用於範圍較小的非...
前言 這題有點類似 Prefix Sums 的概念,目標是找到陣列中元素自己以外的所有元素的乘績,放在一個新的陣列裡,雖然有三個迴圈是 O(3n) 的時間複...
46. Permutations Question Given an array nums of distinct integers, return all t...
22. Generate Parentheses Question Given n pairs of parentheses, write a function...
5. Longest Palindromic Substring Question Given a string s, return the longest p...
Hash Table Hash Table(哈希表),是透過 Hash Function 計算出一個 key 與 value 所對應的位置,進而建立雜湊表格,而...
72. Edit Distance Question Given two strings word1 and word2, return the minimum...
42. Trapping Rain Water Question Given n non-negative integers representing an e...
概念 深度優先搜尋是一種圖的走訪方式。以一個圖的例子來解釋:圖上有編號為 到 的節點。如果我們從節點 開始走,我們會先往與節點 相鄰的節點走,然後一直往...
何謂複雜度 通常在解題或打競程時都會看到題目有時間與記憶體限制,而這基本上會跟你程式的時間/空間複雜度(Time/Space Complexity)有關。 ex...
Algorithm Subset Sum 是一個組合優化問題。 給定一個集合(或數組)中的一些整數,是否可以從中選出一些數,使它們的和等於一個特定的目標值。 問...
15. 3Sum Question Given an integer array nums, return all the triplets [nums[i],...
Algorithm Graph Coloring 是一種圖論中的應用問題,它通常用來解決如何為一個給定的圖中的每個節點分配一種顏色,使得相鄰的節點不具有相同的顏...
Sorting 剛開始先介紹排序,把數字由小排到大或由大排到小。 以下是相關排序演算法的時間複雜度跟空間複雜度 今天是 Bubble Sort 和 Selec...
11. Container With Most Water Question You are given an integer array height of...
Job Sequencing Problem Job Sequencing Problem 是一個排程問題,通常在生產和製造領域中遇到。目標是在有限的時間內,安...
今天要實做兩個著名的資料結構 Stack 和 Queue Stack 是一種後進先出(Last-In-First-Out,LIFO)的資料結構,其中最後添加...
84. Largest Rectangle in Histogram Question Given an array of integers heights r...
136. Single Number Question Given a non-empty array of integers nums, every elem...
70. Climbing Stairs Question You are climbing a staircase. It takes n steps to r...
Activity Selection Problem Activity Selection Problem 通常用於時間表排程或資源分配。 該問題要求在一組互相...
Bellman-Ford Algorithm Bellman-Ford 演算法是一種用於解決最短路徑問題的演算法,可以處理包含負權重邊的圖。 演算法 初始化...