最近连续帮学员处理了几场 TikTok 26NG OA ,这一场整体下来节奏非常顺。题型还是一贯的熟悉套路,基本没有新花样,如果之前有做过 TikTok 或同类型公司的 OA,很容易进入看到题就知道怎么写的状态。这次 CodeSignal 四道题,全程推进非常流畅,十几分钟基本可以搞定。

TikTok 26NG OA 整体情况
Platform: CodeSignal
题量:4 题
时长:一般 70-90 分钟
难度:Easy – Medium 偏 Easy
TikTok 26NG OA 真题分享
无人机配送步行距离计算
Question description
你需要将货物从位置 0 运送到目标位置 Target,沿途有若干充电站 stations。配送规则如下:
- 找到前方最近的充电站。如果没有充电站,步行将货物运到目标位置。
- 从该充电站派出满电无人机,尽可能向目标方向运送货物。
- 如果未到达目标,步行到无人机降落点取回货物,重复步骤 1。
计算你步行运送货物的总距离。
Example:
- Enter:
target = 23,stations = [7, 4, 14]→ 输出:4解释:从 0 出发,步行到最近的充电站 4(距离 4),无人机飞到 14;再从 14 派出无人机到 23,总步行距离 4。 - Enter:
target = 27,stations = [15, 7, 3, 10]→ 输出:7解释:从 0 出发,步行到最近的充电站 3(距离 3),无人机飞到 13;再从 13 出发,步行到最近的充电站 10(实际是 13 到 10?修正:最近的前方充电站是 15,步行距离15-13=2?最终总步行距离为 7)。
Problem-solving ideas
T2 从0 走到 target,可以借助一些点 p[i],从 p[i] 走到 p[i]+10。你要统计的是实际步行的总距离,也就是去掉那些“借助点跳过去”的部分。贪心做法:先把点排序,然后每轮找当前位置之后能用的点,把从当前位置走到那个点的距离加到总距离里,再把当前位置更新成那个点 +10,继续走,直到到达或超过 target。就这么模拟,贪心选的可用点。
报纸排版对齐
Question description
你是报纸版面编辑,需要将文本按要求排版:
Paragraphs:段落数组,每个段落是单词数组。Aligns:段落对齐方式数组,元素为"LEFT"Or"RIGHT".Width:每行最大字符数(不包括边框)。
排版规则:
- 每个段落的单词按顺序排列,单词间用空格分隔。
- 每行尽可能多放单词(总长度 ≤
Width),放不下则换行。 - 多余空白按对齐方式处理:
LEFT则末尾补空格,RIGHT则开头补空格。 - 最终输出用
*字符包裹边框(边框不计入Width).
返回排版后的报纸页面字符串数组。
Problem-solving ideas
按题目要求的格式排序。每组单词,我们维护当前行的长度,用双指针遍历单词,拼接进当前行,如果拼不下就新开一行。输出的时候,根据题目说的 left/right 对齐方式,把每行调整成对应的格式就行。
山峰高度最相似对
Question description
登山者只能比较位置间隔至少为 viewingGap 的山峰,需要找出满足 |a - b| >= viewingGap 的所有山峰对中,高度差最小的那一对,并返回该最小高度差。
Example:
- Enter:
heights = [1, 5, 4, 10, 9],viewingGap = 3→ 输出:4可比较的对:(0,3) 差 9、(0,4) 差 8、(1,4) 差 4 → 最小为 4 - Enter:
heights = [3, 10, 5, 8],viewingGap = 1→ 输出:2任意两峰都可比较,最小差为 2(如 3 与 5、5 与 8)
Problem-solving ideas
在满足 |a-b|>=lim 的情况下,找差的最小值,就从左往右扫,用离散化+树状数组来维护已有高度,在对当前高度二分找前驱和后继就行了
手机备用电池使用
Question description:
手机需要持续使用 T 分钟,备用电池按顺序循环使用:每块电池使用 Capacity[i] 分钟后耗尽,需充电 Recharge[i] 分钟才能再次使用。若某时刻所有电池都在充电,则返回 -1;否则返回 T 分钟内完整使用的电池数量。
Example:
- Enter:
t = 16,capacity = [2, 5, 6],recharge = [12, 1, 4]→ 输出:3过程:使用电池 0 (2min)→电池 1 (5min)→电池 2 (6min),累计 13min;再循环到电池 0 时,其充电已完成,继续使用至 16min,共完整使用 3 块电池。
Problem-solving ideas
要你轮流模拟电池供电直到时间 t,然后算用了多少块电池,维护电池下一个充满的时间位置,然后不断的从当前位置往后找合法位置就行了,如果某一块电池覆盖了剩余时间的话,这个电池还必须不计入总数。
TikTok OA 建议
TikTok OA 虽然整体难度不高,但很多同学都是在关键节点上参加考试,比如同时撞多场 OA、冲 return offer 不容失误,或者当天状态不稳定容易写错代码,这种情况下其实非常考验发挥的稳定性;如果有实时思路提醒会轻松很多,比如卡住时能及时点出关键方向、写偏时帮你快速纠正、同时还能帮你控节奏避免时间分配翻车,我们这边做 TikTok OA 已经非常熟了, OA traceless assist 一周基本能接三四场,题库和套路都很稳定,如果你希望考试更稳一点、有个兜底保障,可以了解一下。