剛結束 TikTok SDE OA ,整體體驗可以用一句話概括:難度友好 + 節奏極快。雖然這次是新題,但整體考察仍然圍繞基礎演算法與程式碼實現,沒有出現特別偏的思維題。只要平時刷題量夠、手感線上,基本屬於“讀完題就能寫”的型別。
個人從開啟題目到四題全部 AC 用時大約 18 分鐘,提交後不久就收到了 VO 邀請,流程推進非常快。給準備 TT 或正在等 OA 的同學一個參考。
TikTok SDE OA-question1
T1思路: 我們只需要從前到後掃一遍,把每個字元歸一化成小寫(或大寫),然後比較相鄰兩個歸一化後的值是否相等。不相等就累加 1。 複雜度 O(n),符合題目要求。
TikTok SDE OA-question2
T2思路: 我們把所有時間(發車時間和當前時間)都轉成從 00:00 開始的分鐘數,然後二分查詢最後一個小於當前時間的位置(因為有序)。因為陣列已經有序,直接用二分法找到第一個大於等於當前時間的下標,它前面的那個就是最後一次發車。如果這個下標是 0,說明所有發車時間都 ≥ 當前時間,返回 -1。否則用當前分鐘數減去那個發車分鐘數就是答案。 複雜度 O(log n) 或 O(n) 線性掃描也可以,題目給了很寬鬆的限制。
TikTok SDE OA-question3
T3思路: 就按命令模擬,注意幾點:行、列索引直接從輸入拿,不用處理邊界。 旋轉90度:新矩陣 [i][j] = 原矩陣[n-1-j][i],原地旋轉麻煩,直接開新矩陣賦值。反轉行/列:雙指標交換。 複雜度 O(命令數 × 矩陣大小) 足夠。
TikTok SDE OA-question4
T4思路: 維護顏色陣列和當前相同相鄰對數。每次塗座標 i:若新顏色 = 舊顏色,不變 ,否則:先減掉 i 與 i-1、i 與 i+1 舊的相同貢獻,再加上新的相同貢獻,更新顏色,記錄當前對數 複雜度 O(查詢數)
想更穩地透過 OA 和 VO?
我們長期提供北美大廠 面試輔助 與實戰支援,已經幫助大量同學順利透過 TikTok、Amazon、Meta、Google 等公司的 OA 與技術面。提前做好準備,往往比事後補救更重要。機會從來不是留給最會刷題的人,而是留給準備最充分的人。