LeetCode 解題

Scratch 解 LeetCode!?會不會太扯了~但如果能用 Scratch 來輔助解題教學,相信學生會比較能夠快速瞭解程式的思維邏輯吧~

LeetCode 130. Surrounded Regions (Medium)

題目是 m*n 的矩陣,1 <= m, n <= 200。這裡改成 8*8,並且每次重新隨機出現黑白棋。解決方式,就是把不靠邊的白棋一個一個標記起來,接著開始一個一個檢查,如果標記的棋子旁邊(上、下、左、右)有白棋,就變回白棋。重複檢查直到不再有標記的棋子需要變回白棋,再將依然是有標記的棋子變為黑棋。

LeetCode 42. Trapping Rain Water (Hard)

這題原本有n道牆,0 <= n <= 3 * 10⁴、每道牆高 0 <= height[i] <= 10⁵,改為固定16道牆、牆高 0~10,並改成每次隨機取數給出牆高。雖然需要用到動態規劃,但其實不懂也沒關係,簡單的就是說我從左到右一格一格看,記下每一格左邊最高那道牆的高度;同理從右至左看右邊最高那道牆的高度,接下來在每一格比較左、右兩邊牆誰低,低的再與這格的牆高比,如果牆比較低,就能積水。

LeetCode 51. N-Queens (Hard)

這題LeetCode題目是 1*1~9*9 的棋盤,但GreenJudge上棋盤到12*12,不過在Scratch上 8*8 的棋盤要解出 92 組解就得花上了 1 個鐘頭。簡單的遞迴與回溯法,在Scratch上真的是搞死人了,希望這92組沒解錯。(跟我提交到GreenJudge的C程式跑出來的結果比對了一下,大致上是一樣的)

傑夫老師之後還會解什麼題?老師自己也不知道!Bye now.