動態規劃在尋找有很多重疊子問題的情況的最佳解時有效。 動態規劃儲存遞迴時計算子問題的結果, 因而不會在解決同樣的問題時花費時間。 適用條件 最佳子結構 Optimal Substructure 如果問題的最佳解所包含的子問題的解也是最佳的,我們就稱該問題具有最佳子結構性質(即滿足最佳化原理)。最佳子結構性質為動態規劃演算法解決問題提供了重要線索。 無後效性 Without Aftereffect ...
為 disjoint (non-overlapping) sets 設計的資料結構 演算法 Time Complexity: O(node 的數量) Space Complexity: O(node 的數量) 使用「秩(rank)」能在連結兩元素時所建立的樹較為平均 「秩(rank)」的定義如下: 只有根節點的樹(即只有一個元素的集合),秩為0 當兩棵秩不同的樹合併後,新的樹的秩為原來兩棵樹的秩的 ...
說明 def some_method(...): if some_conditions: ...statementsA... else: ...statementsB... 改寫作: def some_method(...): if some_conditions: ...statementsA... return ...statementsB... 好處 提高程式的可讀性,透過預先排除不符規格的 ...
Bubble Sort 泡沫排序 T: O(n ^ 2), S: O(1) 依序把最大的放到最後(如泡沫慢慢浮上水面) [2, 3, 5, 4, 1] [2, 3, 4, 1, 5] [2, 3, 1, 4, 5] [2, 1, 3, 4, 5] [1, 2, 3, 4, 5] def bubble_sort (arr): for i in range(len(arr)): for ...
https://leetcode.com/problems/container-with-most-water/ Solution class Solution: def maxArea(self, height: List[int]) -> int: max_area = 0 left, right = 0, len(height) - 1 while left < right: # ...
例題 LeetCode #1178. Number of Valid Words for Each Puzzle
由於Python中不可直接變更字串中字元 建議使用list代替str 最後使用"".join(...)
Stack 的運用 逆序:後進先出 (Last In First Out) Leetcode # 445. Add Two Numbers II Depth-First Search Eval|語法分析 Parsing 括號 Parentheses 前後元素的配對 Leetcode # 735. Asteroid Collision 在 Python 中實作 Stack 使用 list appen ...
AWS的Bitnami的WordPress變得緩慢 常常出現timeout 查了一下 是硬碟空間滿了 而佔用了最多空間的資料夾是/usr/src/ 執行了sudo apt-get autoremove後解決了問題 (如果硬碟空間滿到連暫存空間都沒有 可能需要備份後刪除以騰出)
安裝Bitnami HTTPS Configuration Tool wget -O bncert-linux-x64.run https://downloads.bitnami.com/files/bncert/latest/bncert-linux-x64.run sudo mkdir /opt/bitnami/bncert sudo mv bncert-linux-x64.run /opt/ ...