筆記:【演算法新手村】[初階]筆記03 - 二分練習題 題目 木材廠有 n 根原木,現在想把這些木頭切割成 k 段長度均為 l 的小段木頭(木頭有可能有剩餘)...
筆記:【演算法新手村】[初階]筆記05 - 前綴和(二維) 題目翻譯 輸入 (Input)輸入包含一個 N×N 的整數陣列。 第一行是一個正整數 N,代表這...
problem 輸入為兩個陣列,皆不為空陣列且元素皆為整數,回傳第二個陣列是否為第一個陣列的子序列 (subsequence)。 sample input:ar...
2622. Cache With Time Limit 解題程式碼 var TimeLimitedCache = function () { this.ca...
problem 題目的情境是,要為一個班級拍合照,全班人數必為偶數 (代表至少兩個人),一半的人穿紅衣服,另一半的人穿藍衣服。將全部的人排成兩橫排拍照,規則是:...
此演算法是分治法的延伸,將一個問題分成好幾個小問題,並將小問題解出並記錄答案,例如用一個陣列去儲存,這些小問題的答案就不用被重複計算,最後根據小問題的答案取得整...
筆記:【演算法新手村】[初階]筆記06 - 差分(二維) 題目 在 n × n 的格子上有 m 個地毯。給出這些地毯的信息,問每個點被多少個地毯覆蓋。 I...
problem 輸入為一個元素皆為整數的陣列,以及一個整數 k,將所有陣列中為 k 的元素移動到末尾,並回傳陣列。題目要求原地進行,也就是需直接操作輸入陣列。其...
11. Container With Most Water 解題程式碼 var maxArea = function (height) { let left...
problem 輸入為一個正整數 k,以及一個字串,字串不為空且其中字元都是小寫英文字母。將字串中每個字元在字母表中移動 k 個位置,回傳得到的新字串。 字元移...
problem 輸入為一陣列,陣列不為空陣列且元素皆為正整數。每個元素代表一個任務的執行時間,一次只能執行一個任務,但順序可以換。 若每個任務的等待時間代表執行...
上一篇:【演算法新手村】[初階]筆記06 - 差分(一維) 同樣引入一個問題,給定一個 N × M 的矩陣,有 Q 次操作,每次將左上 (x1, y1) 到右...
problem 輸入為一個陣列 array,長度至少為 3,元素皆為整數。在不排序 array 的情況下,回傳一個有序陣列,其中包含 array 中最大的三個數...
筆記:【演算法新手村】[初階]筆記06 - 差分(一維) 題目翻譯 有一輛車,車內共有 capacity 個空座位。這輛車只會向東行駛(也就是說,它不能掉頭向...
problem 輸入為一個二元樹,以陣列回傳從最左到最右的樹枝總和。 二元樹是每個節點最多只有兩個分支的樹結構,樹枝 (branch) 指的是從根節點到任意葉節...
problem 輸入為一個二元樹,如果一個節點的深度代表節點到根節點的距離,回傳二元樹中所有節點的深度總和。 二元樹如下結構,每一個 BinaryTree 節點...
筆記:【演算法新手村】[初階]筆記06 - 差分(一維) 題目翻譯 有n 個航班,編號從 1 到 n。給定一個預訂紀錄陣列 bookings,其中 booki...
2705. Compact Object 解題程式碼 var compactObject = function (obj) { if (obj === nu...
169. Majority Element 解題程式碼 var majorityElement = function (nums) { let majori...
problem 輸入為一個元素皆為正整數的陣列,元素可能重複,假設每個數字代表一個硬幣的面額,回傳這些硬幣無法加總組合出的最小金額。例如陣列 [1, 2, 5]...
problem 至少兩支隊伍進行錦標賽,其中每一隊都會跟其他所有的隊伍進行一對一比賽。每場比賽贏的加 3 分,輸的加 0 分,不會有平手的情況。累積總分最高的就...
problem 輸入為一個元素皆為整數的陣列,回傳陣列中最長的山 (peak) 的長度。山是指相鄰的元素嚴格遞增到一個值最大的元素,再嚴格遞減的情況。也就是一個...
problem 輸入為一個字串,其中字元都是小寫英文字母,回傳字串中第一個只出現一次的字元的索引值。如果所有字元都重複出現,則回傳 -1。 sample inp...
problem 輸入為一個元素為整數的有序陣列和一個整數 target,以二元搜尋檢查 target 是否在陣列中,有則回傳索引值,否則回傳 -1。 sampl...
problem 輸入為一個陣列和一個整數 target。陣列有排序,元素為不重複的整數,但是所有的元素往左或往右 '移位' 了一個或多個位置,例如陣列 [1,...
121. Best Time to Buy and Sell Stock 解題程式碼 var maxProfit = function (prices) {...
problem 輸入為一個 m * n 的雙層陣列和一個目標整數 target。陣列中的元素皆不重複,且每一列和每一欄都由小到大排序。如果 target 有在陣...
筆記:【演算法新手村】[初階]筆記06 - 差分(二維) 題目翻譯 給定一個正整數 n,代表一個初始全為 0、大小為 n × n 的二維矩陣 mat(索引從...
一、學習目標 了解什麼是「局部最優導向全局最優」的貪心思想,以及何時可用、何時不可用。 學會兩個最常見的貪心套路:區間排程(按結束時間排序)、短工優先以最小化...
一、學習目標 掌握雙指針(Two Pointers)技巧的兩大變形: 對撞型雙指針(Two-end) 滑動視窗型雙指針(Sliding Window)...