多伊奇-喬薩演算法(英語:Deutsch–Jozsa algorithm)是戴維·多伊奇和里查德·喬薩於1992年提出的一種確定性量子演算法。1998年,理察...
如題:輸入:$num 要產生的數值數量 (正整數) 預設為2個$precision 決定小數下幾位 (正整數) 預設精度為小數下6位 輸出:$weighta...
▌合併排序法(Merge Sort) 「合併排序法」(Merge Sort)在 1945 年由馮紐曼(他真的是天才><)首次提出,跟「快速排序法」一...
排序是電腦很常用到的演算法也是很經典的演算法種類,排序相關的演算法如下: ▌選擇排序法(Selection Sort) 算是比較簡單的排序演算法。會在「未排序...
圖片來源 今天開始要來講演算法相關的主題,在進入「最大數與最小數找法」之前,要先來談談 Big O Notation ▌Big O Notation (大O表示...
11. Container With Most Water 解題程式碼 var maxArea = function (height) { let left...
169. Majority Element 解題程式碼 var majorityElement = function (nums) { let majori...
238. Product of Array Except Self 解題程式碼 var productExceptSelf = function (nums)...
121. Best Time to Buy and Sell Stock 解題程式碼 var maxProfit = function (prices) {...
2705. Compact Object 解題程式碼 var compactObject = function (obj) { if (obj === nu...
2629. Function Composition 解題程式碼 // 解法 1. 最簡潔 const compose = (fs) => (x) =&g...
2622. Cache With Time Limit 解題程式碼 var TimeLimitedCache = function () { this.ca...
此演算法是分治法的延伸,將一個問題分成好幾個小問題,並將小問題解出並記錄答案,例如用一個陣列去儲存,這些小問題的答案就不用被重複計算,最後根據小問題的答案取得整...
在介紹 Dijkstra’s Algorithm 前要先說這是最短路徑問題(Shortest Path)中的一種經典演算法,最短路徑問題是能算出在 graph...
簡單說,就是有多個節點(vertex),且彼此有些連接線(edge)的資料結構,以下都是 graph : 並且 graph 種類還能分為有向 & 無...
去年參加鐵人賽的文章,已經成書出版了,除了增加許多細節與心得之外,又多寫了幾個篇章。喜愛製作遊戲的同好,相信讀完一定會有幫助,還可能和我產生共鳴。 全書共32章...
打磚塊可能是很多老師給初學程式的學生的第一個練習專案,雖然我以前沒經過這個階段,但還是來分享一下和打磚塊相關的演算法以及使用Typescript實作的Live...
Shell Sort 是 Insertion Sort 的改良版,加入了間距 (Gap) 的概念將資料分成小區塊,將整組資料分組,每區塊用 Insertion...
Counting Sort 是以數字為基礎的排序演算法,其需要定義最大範圍值,作為排序用,整體算法較簡單且速度較快,缺點就是排序元素需要確定在最大範圍值內且需要...
problem 輸入為一陣列及一整數 target,陣列不為空陣列,且元素不重複。如果陣列中有四個數字相加等於 target,以雙層陣列 (two-diment...
解決一個問題時,若此問題可以分解成多個重複性的子問題,且這些子問題的解答可以構成最終該問題的解答,則我們可以用 Dynamic Programming 的技巧,...
problem 輸入為一個二元樹,將它左右反轉後回傳。 二元樹如下結構,每一個 BinaryTree 節點有一個整數值 value,左子節點 left,右子節點...
problem 輸入為一個二元樹,如果一個節點的深度代表節點到根節點的距離,回傳二元樹中所有節點的深度總和。 二元樹如下結構,每一個 BinaryTree 節點...
problem 輸入為一個二元樹,以陣列回傳從最左到最右的樹枝總和。 二元樹是每個節點最多只有兩個分支的樹結構,樹枝 (branch) 指的是從根節點到任意葉節...
problem 輸入為一陣列,陣列不為空且元素皆為整數。輸出一個長度相同的新陣列,其中每個位置 i 為輸入陣列 i 位置以外的元素乘積。 sample inpu...
problem 輸入為一陣列,其中元素為字串,將字串以 anagram (易位構詞) 進行分組,最終以雙層陣列的結構輸出。易位構詞指的是同樣字母以不同順序排列出...
problem 輸入為一個元素皆為整數的陣列,回傳陣列中最長的山 (peak) 的長度。山是指相鄰的元素嚴格遞增到一個值最大的元素,再嚴格遞減的情況。也就是一個...
problem 輸入為一字串,回傳字串中最長的回文 (palindrome)。回文是指前到後、後到前寫法一樣的字串,只有一個字元的字串也算是回文。可以假設輸入字...
Tree Sort 簡而言之就是使用 Tree 結構來排序資料,建議先看資料結構篇章中的 Binary Search Tree 和 Tree Traversal...