最近 TikTok 北美這邊的 OA 確實發得挺密集,我這段時間陸續做了幾場,整體還是 CodeSignal 抽題的形式。體感是:原題命中率不算低,但一定要手穩。節奏快、實現細節多,稍微寫崩一個 corner case 就很容易丟分。這次整理三道題的核心思路,給準備 TikTok OA 的同學做個參考。

Q1:動態統計相鄰同色對數
給一個長度為 length 的數軸,初始全是 0。每次操作給 [coord, color],把該位置改成某個顏色(覆蓋原值)。每做完一次操作,要輸出當前有多少對相鄰位置 (i, i+1) 顏色相同。
思路:一次修改只會影響這個點和左右兩個位置之間的關係,所以不用每次全遍歷。維護一個當前相鄰同色對數 count。修改前,先把它和左右可能形成的同色對減掉;改完顏色後,再判斷是否新形成同色對並加上。每次操作只改區域性,整體就是動態維護答案。
Q2:圖形放置模擬
給若干形狀圖形:不能旋轉,不能重疊。每次放圖形時,要選“行號最小、列號最小”的合法位置,最終輸出整個網格狀態。
思路就是純模擬。對於每個圖形,從左上角開始一行一行列舉可能的左上角位置,判斷是否越界、是否和已有圖形衝突。找到第一個合法位置就放進去,然後繼續下一個圖形。
Q3:母音首尾單詞中間反轉
給定一個字串陣列 text,逐個處理其中的單詞。規則是:如果一個單詞的首字母和尾字母都是母音字母(a, e, i, o, u,大小寫都算),就只翻轉中間那一段字元,首尾保持不變;否則原樣輸出。
思路:遍歷每個單詞,先判斷首字元和尾字元是不是母音。如果不是,直接原樣加入結果;如果是,就取中間部分 word[1:-1] 做一次反轉,然後拼成 新單詞 = 首字母 + 反轉後的中間 + 尾字母。長度小於等於 2 的單詞其實翻不翻都一樣,可以直接保留。
高強度實戰支援
如果你對 TikTok OA 或其他北美大廠線上筆試沒有十足把握,我們也提供 OA 无痕联机辅助服务 ,無論是 CodeSignal、HackerRank 還是各類定製平臺,都有成熟經驗支援。很多同學不是不會,而是臨場發揮不穩定——提前把實戰節奏跑順,往往比盲目刷題更有效。