https://leetcode.com/problems/find-in-mountain-array/ 相關例題 Leetcode # 852. Peak Index in a Mountain Array Solution 先找到山頂(參考 Leetcode # 852. Peak Index in a Mountain Array ) 從山頂將 array 一分為二 各別做 binary ...
https://leetcode.com/problems/peak-index-in-a-mountain-array/ Solution 如果只用三點來判斷是否為 mountain array 容易發生如上圖的誤判 所以使用斜率,來判斷中點位於上坡或下坡 Time Complexity: O(log(len(arr))) Space Complexity: O(1) class Solutio ...
https://leetcode.com/problems/01-matrix/ ⭐️ Solution: Breadth-First Serch Time Complexity: O(r * c) Space Complexity: O(1) ※ 不計算為了 output 所使用的 memory class Solution: def updateMatrix(self, mat: List[L ...
https://leetcode.com/problems/reverse-linked-list/ Solution Time Complexity: O(n) Space Complexity: O(1) Python 版 class Solution: def reverseList(self, head: Optional[ListNode]) -> Optional[ListNod ...
https://leetcode.com/problems/single-number/ XOR \begin{align} 1. \, & p \oplus 0 = p \\ 2. \, & p \oplus p = 0 \\ 3. \, & 有交換律: p \oplus q = q \oplus p \\ & \Rightarrow p \oplus q \o ...
Bitwise(位元運算) a & b Bitwise AND a | b Bitwise OR a ^ b Bitwise XOR (exclusive OR) ~a Bitwise NOT a << n Bitwise left shift a >> n Bitwise right shift 相關例題 Leetcode # 190. Reverse Bits ...
iterator 有__next__()以取得 iterator 的下一個item 有__iter__():return self generator 屬於 iterator,但反之則不成立 使用yield表達式實作__next__()
https://leetcode.com/problems/letter-case-permutation/ Solution Time Complexity = Space Complexity = O(len(s) * 2 ^ len(s)) class Solution: def letterCasePermutation(self, s: str) -> List[str]: f = ...
Brute-Force(暴力法 / 窮舉法) 列出所有可能的解答候選,再保留那些通過驗證的解答候選 例題 Backtracking(回溯法) Brute-Force 的一種 嘗試分步的解決問題 當現在這一步不符合條件時 ⇒ 退回上一步 經常使用遞迴 (recursion) 來實現 backtracking Difference with Dynamic Programing backtrackin ...
https://leetcode.com/problems/squares-of-a-sorted-array/ First Solution 注意 nums 僅有負數的場合! Time Complexity: O(len(nums)) Space Complexity: O(1) (The input and output generally do not count towards the s ...