差不多也是時候要開始刷題轉馬了
不然到時候畢業就直接失業
不過一打開 Leetcode
裡面有他媽幾千題,也不知道怎麼刷
所以就想說先每個禮拜參加個 weekly contest 就好
一共有四題,難度分別是 Easy, Medium, Medium, Hard
我花了一個小時左右寫完
不過我看網路上說面試的時候看到題目十幾秒就要開始講話了
感覺我現在還是很卡
第一題 Smallest Even Multiple
給 n 要求回傳 n 和 2 的最小公倍數
有點太簡單了 = =
第二題 Length of the Longest Alphabetical Continuous Substring
給小寫字串 s 回傳最長的「連續字串」的長度
連續字串是 "abcdefghijklmnopqrstuvwxyz" 的 substring
我的解法:定義 a_n 是 s[:n] 的答案
a_n = { a_{n-1} + 1, 如果和前一個連續
1 , otherwise
從左到右掃一遍取高的就好
Time: O(n), Space: O(1)
第三題 Reverse Odd Levels of Binary Tree
給 perfect binary tree, 要求在奇數層反轉
我有點小卡 一開始還寫成奇數層兩兩互換
我最後解法是 BFS 每層存一個 arr 再反著寫回去同一層
我自己是覺得醜醜的 不過也想不到更好的
第四題 Sum of Prefix Scores of Strings
題目很繞口,我覺得原因是想讓人繞不開 Trie,或至少很麻煩
還好我之前去資工系修過一點課剛好學過
不然當場一定想不出來
四題總共花了一個小時,不過至少有寫完
但我看評論是說這禮拜特別簡單
而且面試要邊寫邊講
我有些題一開始還寫錯方向
感覺還得練好一陣子