2022-02-19 解題區►Leetcode►Medium Leetcode 402 - Remove K Digits 題目 Problem# 給你一個只有非負整數的字串 num 和整數 k,要你回傳刪掉 k 個數字後,之中最小的整數 123Input: num = "1432219", k = 3Output: "1219"Explanation: Remove the three digits 4, 3, and 2 to form the new number 1219 which is the smallest. 想法# Read More
2022-02-17 解題區►Leetcode►Easy Leetcode 104 - Maximum Depth of Binary Tree 題目 Problem# 給一個二元樹,要你回傳樹高 想法# DFS 遍歷整顆樹,可用 backtracking 到 leaf 時紀錄走了多深,找最大即可 遍歷時可拆成,max( dfs(左子樹), dfs(右子樹) ) Read More
2022-02-16 解題區►Leetcode►Medium Leetcode 24 - Swap Nodes in Pairs 題目 Problem# 題目給一個 Singly linked list 要你把每兩個兩個 swap 一遍,但不能只 swap value 想法# 照做即可,注意邊界 e.g. list 沒有 node 的狀態、list 只有一個 node 的狀態 Read More
2022-02-13 解題區►Leetcode►Medium Leetcode 78 - Subsets 題目 Problem# 給一個 array size = $N$ e.g. [1, 2, 3] 要回傳它的所有可能的子集合(Power set) e.g. [[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]] 想法# 如果用 bit 來表示位置 $i$ 是否有出現,則問題就是數數字 $[0, 2^N]$,每個數字代表一種子集合的狀態 Read More
2021-05-06 解題區►Uva Uva 679 - Dropping Balls 題目 Problem# 有 $K$ 顆球從一顆有高度 $D$ 的完全二元樹上落下,從根節點一直落到葉節點,其中「非葉節點」都儲存個 bool 值(一開始是 false),當一顆球經過該節點時,就會反轉該 bool 值。當每顆球經過該「非葉節點」時,如果 bool 值是 false,則走左子樹;反之,如果 bool 值是 true,則走右子樹。 問你寫程式回答當第 $I$ 顆球最後停在的節點 $P$ 是多少? $2 \le D \le 20\text{, and } 1 \le I \le 524288$ 輸入# Read More
2021-03-03 解題區►Leetcode►Easy Leetcode 977 - Squares of a Sorted Array 題目 Problem# 題目給你一個遞增排序的 follow-up: 用 $\mathcal{O}(N)$ 實作 想法# Read More
2021-03-03 解題區►Leetcode►Easy Leetcode 1295 - Find Numbers with Even Number of Digits 題目 Problem# 題目給你一個整數陣列,問你裏頭有幾個數字是偶數個位數。 想法# 時間複雜度: $\mathcal{O}(NM)$ N=nums.size(), M=nums[i].length() 空間複雜度: $\mathcal{O}(1)$ Read More
2021-03-03 解題區►Leetcode►Easy Leetcode 485 - Max Consecutive Ones 題目 Problem# 給一個由 0 和 1 組成的陣列 nums,問最長連續的 1 是多少 想法# 掃一遍,遇到 0 就把 counter 歸零,找最大 Read More
2019-09-11 解題區►Uva Uva 1587 - Box 題目 Problem# 給你6個寬$w_i$高$h_i$的紙板,問可不可以組成一個長方體 想法# 組成一個長方體的紙板可以分成三組(相對一組),有三種情況:相異、兩同ㄧ異、全部相同。 Read More