這套 TikTok OA 說實話,如果平時題量夠、字串和模擬寫得熟,基本就是穩穩拿分的節奏。我這次也是全程比較順,四題寫完還有時間檢查。下面按把每題核心思路 + 容易踩坑點 都一起講清楚。
第一題:使用者評級與等級判定
初始分數經過一系列增減變化後,依據分數區間對映到對應的等級。需遍歷 changes 陣列更新 rating,最後用 if-elif 判斷落在哪個區間並返回對應字串。複雜度 O(n),滿足要求,注意保證 rating 在 1~2500 之間題目保證。
第二題:兩個數字字串按位相加從右向左對齊
從兩字串末尾開始逐位相加,若某字串已無數字則用 0 代替。每次相加結果直接作為字串拼接,最終得到的結果是從個位開始向高位排列的結果。需注意最高位相加可能產生進位,示例未體現,但應正確處理。複雜度 O(max(len(a), len(b)))。
第三題:分發中心最多處理包裹的索引
有多箇中心,每個有初始容量,容量滿則輪到下一個。遇到 “PACKAGE” 則找下一個可用中心並扣減其容量;遇到 “CLOSURE j” 則標記該中心關閉。每天結束時重置所有運營中中心的容量。最終統計處理量,返回處理量最大的索引,若有並列取索引高的。複雜度 O(centerCount * dailyLog.length)。
第四題:最少操作次數使陣列變成遞增或遞減步長為 1 的序列
只能增加元素的值,目標為每個相鄰元素相差 1。分別計算變為遞增序列和遞減序列所需最小運算元:從第一個元素固定為原值開始,按步長 1 推算每個位置所需值,若原值大於所需值則不可行;也可嘗試調第一個元素的初始值。可遍歷可能的第一元素值,取最小運算元。最終輸出兩個方向中較小的。
瞭解更多
別讓準備不足,錯過心儀的北美大廠 offer。我們專注 OA 與技術 面試實戰 助力,多年經驗沉澱,已幫助眾多同學順利通關 TikTok、Amazon、Meta、Google 等面試。提前佈局,才能穩穩上岸。