最近連續幫學員處理了幾場 TikTok 26NG OA ,這一場整體下來節奏非常順。題型還是一貫的熟悉套路,基本上沒有新花樣,如果之前有做過 TikTok 或同類型公司的 OA,很容易進入看到題就知道怎麼寫的狀態。這次 CodeSignal 四題,全程推進非常流暢,十幾分鐘基本上可以搞定。

TikTok 26NG OA 整体情况
平臺:CodeSignal
題量:4 題
長度:一般 70-90 分鐘
難度:Easy – Medium 偏 Easy
TikTok 26NG OA 真題分享
無人機配送步行距離計算
題目描述
你需要將貨物從位置 0 運送到目標位置 target,沿途有若干充電站 stations。配送規則如下:
- 找到前方最近的充電站。如果沒有充電站,步行將貨物運送到目標位置。
- 從該充電站派出滿電無人機,盡可能向目標方向運送貨物。
- 如果未到達目標,步行到無人機降落點取回貨物,重複步驟 1。
計算你步行運送貨物的總距離。
示例:
- 輸入:
target = 23,stations = [7, 4, 14]→ 輸出:4解釋:從 0 出發,步行到最近的充電站 4(距離 4),無人機飛到 14;再從 14 派出到最近的充電站 4(距離 4),無人機飛到 14;再從 14 派出到 23,總步行距離 44。 - 輸入:
target = 27,stations = [15, 7, 3, 10]→ 輸出:7解釋:從 0 出發,步行到最近的充電站 3(距離 3),,飛到 13;步行從 13 到最近的充電站 3(距離 3),無人機飛到 13;步行從 13 出發,步行到最近的無人機站是實際充電到最近的 10 到 13 到最近的15,步行距離15-13=2?
解題思路
T2 從0 走到 target,可以藉助一些點 p[i],從 p[i] 走到 p[i]+10。你要統計的是實際步行的總距離,也就是去掉那些「借助點跳過去」的部分。貪心做法:先把點排序,然後每輪找當前位置之後能用的點,把從當前位置走到那個點的距離加到總距離裡,再把當前位置更新成那個點 +10,繼續走,直到到達或超過 target。就這麼模擬,貪心選的可用點。
報紙排版對齊
題目描述
你是報紙版面編輯,需要將文字依要求排版:
paragraphs:段落數組,每個段落是單字數組。aligns:段落對齊方式數組,元素為"LEFT"或"RIGHT"。width:每行最大字元數(不含邊框)。
排版規則:
- 每個段落的單字依序排列,單字間用空格分隔。
- 每行盡量多放單字(總長度 ≤
width),放不下則換行。 - 多餘空白以對齊方式處理:
LEFT則結尾補空格,RIGHT則開頭補空格。 - 最終輸出以
*字元包裹邊框(邊框不計入width)。
傳回排版後的報紙頁面字串陣列。
解題思路
依題目要求的格式排序。每組單字,我們維護目前行的長度,用雙指針遍歷單字,拼接進當前行,如果拼不下就新開一行。輸出的時候,根據題目說的 left/right 對齊方式,把每行調整成對應的格式就行。
山峰高度最相似對
題目描述
登山者只能比較位置間隔至少為 viewingGap 的山峰,需要找出滿足 |a - b| >= viewingGap 的所有山峰對中,高度差最小的那一對,並返回該最小高度差。
示例:
- 輸入:
heights = [1, 5, 4, 10, 9],viewingGap = 3→ 輸出:4可比較的對:(0,3) 差 9、(0,4) 差 8、(1,4) 最小差 4 → 最小 - 輸入:
heights = [3, 10, 5, 8],viewingGap = 1→ 輸出:2任兩峰都可比較,最小差為 2(如 3 與 5、5 與 8)
解題思路
在滿足 |a-b|>=lim 的情況下,找差的最小值,就從左到右掃,用離散化+樹狀數組來維護已有高度,在對當前高度二分找前驅和後繼就行了
手機備用電池使用
題目描述:
手機需持續使用 t 分鐘,備用電池依序循環使用:每顆電池使用 capacity[i] 分鐘後耗盡,需充電 recharge[i] 分鐘才能再次使用。若某時刻所有電池都在充電,則返回 -1;否則返回 t 分鐘內完整使用的電池數量。
示例:
- 輸入:
t = 16,capacity = [2, 5, 6],recharge = [12, 1, 4]→ 輸出:3流程:使用電池 0 (2min)→電池→電池 (5min)→電池 2 6min),時,其充電已完成,繼續使用至 16min,共完整使用 3 顆電池。
解題思路
要你輪流模擬電池供電直到時間 t,然後算用了多少個電池,維護電池下一個充滿的時間位置,然後不斷的從當前位置往後找合法位置就行了,如果某一塊電池覆蓋了剩餘時間的話,這個電池還必須不計入總數。
TikTok OA 建议
TikTok OA 雖然整體難度不高,但很多同學都是在關鍵節點上參加考試,比如同時撞多場 OA、衝 return offer 不容失誤,或者當天狀態不穩定容易寫錯代碼,這種情況下其實非常考驗發揮的穩定性;如果有實時思路提醒會輕鬆很多,比如說麵時能及時分配出關鍵方向、寫偏時幫你快車做的時間幫你 OA無痕助攻 一週基本上能接三、四場,題庫和套路都很穩定,如果你希望考試更穩一點、有個兜底保障,可以了解一下。