最近做了一场 Akuna OA ,一共三道题,整体难度不算高,主要是模拟 + 基础 DP + 规则判断。没有特别偏门的算法,但几道题都比较吃题意理解,尤其是连续状态、边界条件和特殊情况。
这场比较适合拿来练基本功,下面把三道题的思路简单整理一下,准备 Akuna OA 的可以提前熟悉这类题型。
题 1|服务器连续错误替换
服务器日志记录 success / error。
同一台服务器连续出现 3 次 error 就触发一次替换,替换后计数清零;出现 success 也会清零。
思路: 用 HashMap 记录每台服务器当前连续 error 次数,扫一遍日志即可。
复杂度: O(m) 时间,O(n) 空间。
注意两个细节:success 必须清零,替换后也必须清零。
题 2|无人机最大剩余电量
无人机从第一行任意位置出发,每次只能移动到下一行的 j-1 / j / j+1,每个格子都会消耗一定电量,求到达最后一行时的最大剩余电量。
思路: 经典网格 DP。
第一行初始化:
dp[j] = 100 - city[0][j]
之后每个位置取上一行左、中、右三个位置的最大值,再减去当前格子的耗电量。
复杂度: O(nm) 时间,滚动数组 O(m) 空间。
题 3|元音子串博弈
Alex 和 Chris 轮流删除满足条件的子串,判断最终谁获胜。
这场按实际测试情况,基本可以归纳成:
有元音 → Alex;没有元音 → Chris。
实现时直接扫描字符串判断是否存在 a/e/i/o/u 即可。
不过这题如果遇到不同版本题面,还是要以官方规则和样例为准,尤其注意元音数量、奇偶条件和无元音时的胜者定义。
这场 OA 的整体感受
Akuna 这套不太考偏门算法,更看重读题、模拟、边界和基础 DP。
建议做题时重点检查:
- 连续状态有没有正确清零
- DP 初值是否正确
- 网格边界有没有越界
- 特殊输入是否符合题面
- 返回格式是否完全一致
如果最近在准备 Akuna、Optiver、Stripe、Amazon 等海外 SDE/Quant OA,Interviewshow 也整理了最新面经、OA 真题和高频考点,可以提前了解不同公司的真实题型和面试流程,少走一些弯路。
先把基础题做稳,再去冲难题,OA 过线率往往更重要。
