2022-03-01 解題區►Leetcode►Easy Leetcode 1 - Two Sum 題目 Problem# 題目給你一個整數陣列 nums 和一個正數 target,問你哪兩個數字加起來等於 target。 每組輸入一定都會有解,回傳 index 即可。 想法# $\mathcal{O}(N^2)$ 的解很簡單,直接做就好。$\mathcal{O}(N\log{N})$的解,先記錄數字對應到的位置(同個數字可能出現在多個位置),接著遍歷每個數字 i,看看 target - n[i] 有沒有在裏頭,如果有且沒挑過的話,則找到答案 Read More
2022-02-28 解題區►Leetcode►Easy Leetcode 228 - Summary Ranges 題目 Problem# 題目給你一個排序過的整數陣列,要你回傳覆蓋整個陣列的所有區間。 想法# 掃一遍,檢查當前跟前一個是否只差一,如果是代表區間繼續;不是則輸出區間並更新目前區間左界。 Read More
2022-02-25 解題區►Leetcode►Medium Leetcode 165 - Compare Version Numbers 題目 Problem# 題目給你兩個版本號,要你比較大小 想法# 照做即可 Read More
2022-02-24 解題區►Leetcode►Easy Leetcode 169 - Majority Element 題目 Problem# 題目給你一個陣列 nums,回傳出現次數超過 $\lfloor \frac{n}{2} \rfloor$ 的的那個數字(眾數)。 想法# 直覺做就是先建表紀錄每個數字出現的次數,接著排序拿最大即可 Read More
2022-02-23 解題區►Leetcode►Medium Leetcode 133 - Clone Graph 題目 Problem# 給你一張圖,要你 Deep copy 一份並回傳。 想法# BFS 遍歷一次,邊走邊複製。 Read More
2022-02-22 解題區►Leetcode►Easy Leetcode 171 - Excel Sheet Column Number 題目 Problem# 題目給你一個字串 S 由大寫英文字母組成,令 A=1, B=2, ..., Z=26, AA=27, AB=28, ... ,要你算出並回傳數值。 想法# 照做即可 Read More
2022-02-20 解題區►Leetcode►Medium Leetcode 1288 - Remove Covered Intervals 題目 Problem# 題目給你一個由正整數構成的區間,intervals[i] = [li, ri],如果區間 [a, b) 被 [c, d) 覆蓋,則代表 $c <= a$ 且 $b <= d$ 要你回傳刪掉被覆蓋的區間後,剩下區間的個數。 N = intervals.size() $1 \leq N \leq 1000$ 區間範圍: $0 \leq l_i \leq r_i \leq 10^5$ 想法# Read More
2022-02-20 解題區►Leetcode►Hard Leetcode 1675 - Minimize Deviation in Array 題目 Problem# 題目給你一列正整數 N ,你可以對數列中的每個元素執行兩種操作: 如果 N[i] 是偶數,可以除 2 如果 N[i] 是奇數,可以乘 2 定義 deviation 是數列中的最大和最小之差 max(N) - min(N) 問你經過幾次操作後,最小的 deviation 是多少? Read More
2022-02-20 解題區►Leetcode►Hard Leetcode 127 - Word Ladder 題目 Problem# 一個字串能夠從 beginWord 轉換成 endWord 稱作 transformation sequence e.g. beginWord -> s1 -> s2 -> ... -> sk,今天題目給你一個 wordList 問你從 beginWord 到 endWord 總共幾個字串,並且要最短的。 其中每個字串只差一個字元 => 相差一個字元才能轉換 轉換的字串都在 wordList 裏頭 beginWord 不一定要在 wordList 裏頭 想法# Read More
2022-02-19 解題區►Leetcode►Medium Leetcode 39 - Combination Sum 題目 Problem# 給你一組數字 candidates 和一個數字 target ,問你能用candidates中的元素組成不重複的組合,且相加要等於 T。相同的數字可以出現無限次 1 <= candidates.size() <= 30 1 <= candidates[i] <= 200 1 <= T <= 500 想法# Read More