筆記:【演算法新手村】[初階]筆記04 - 前綴和(一維) 題目翻譯 給定一個包含 n 個整數的陣列,你的任務是處理 q 個查詢,查詢格式為:區間 [a, b...
筆記:【演算法新手村】[初階]筆記04 - 前綴和(一維) 題目翻譯 給定一個整數陣列 nums,請處理多個以下類型的查詢:計算 nums 在索引 left...
筆記: 【演算法新手村】[初階]筆記03 - 二分練習題 題目翻譯 所謂的峰值元素(Peak Element),是指一個其值嚴格大於左右鄰居的元素。給定一個下...
筆記: 【演算法新手村】[初階]筆記03 - 二分練習題 題目翻譯(by Gemini) 給定一個非負整數 x,回傳 x 的算術平方根,並無條件捨去至最接近的...
筆記: 【演算法新手村】[初階]筆記02 - 初識二分之常見問題 題目翻譯(by Gemini) 給定一個已排序且元素皆不重複的整數陣列,以及一個目標值(ta...
首先我們要引入一個問題,我要求一個陣列中從頭到某一項的和要怎麼辦呢? 這邊默認第幾項都是口語上的用法,也就是首項是第 1 項 你會說簡單啊,直接遍歷陣列不...
書接上回:【演算法新手村】[初階]筆記02 - 初識二分之常見問題 二分答案會有點困難,可以多思考,只要能掌握那怕毛皮,那你也是終於"略懂"...
前置知識:【演算法新手村】[初階]筆記01 - 初識二分之二分搜尋配合使用效果更佳喔XD 二分搜尋的題目有不少,這邊講一些簡單的(難的跳過,請新手上路者放心食...
作為大多數人一開始學程式就學到的搜尋演算法,不過多引入介紹,這邊主要提一些基本概念 線性搜尋法 Linear Search 又稱循序搜尋法,這是最直觀的方法(把...
一、學習目標 了解什麼是「局部最優導向全局最優」的貪心思想,以及何時可用、何時不可用。 學會兩個最常見的貪心套路:區間排程(按結束時間排序)、短工優先以最小化...
一、學習目標 掌握雙指針(Two Pointers)技巧的兩大變形: 對撞型雙指針(Two-end) 滑動視窗型雙指針(Sliding Window)...
機器學習(以下簡稱ML)的核心其實就是數學運算,而且只能運算特定類型的資料型式。但是在真實世界中,我們的很多資料是無法能夠立刻丟進去做數學運算的。例如,決策樹(...
從後面往前面比對 text = 'QQQA23B23' pattern = 'B23' # 長度 n = len(text) m = len(pattern)...
桶子排序是什麼? 桶子排序是一種 把資料分類再逐一排序 的演算法。想像一下你有一堆數字,目標是從小到大排列,但這堆數字範圍很大、分布也不均勻。 因此桶子排序的想...
多伊奇-喬薩演算法(英語: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 種類還能分為有向 & 無...