最近 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 还是各类定制平台,都有成熟经验支持。很多同学不是不会,而是临场发挥不稳定——提前把实战节奏跑顺,往往比盲目刷题更有效。