最近不少人在讨论 HRT OA ,我这边也刚带学员走完一场。整体体验其实比很多人想象中友好一些:四道题限时完成,节奏比较紧凑,但只要平时算法基础比较扎实、对常见题型比较熟,基本都能在时间内顺利做完。这场 OA 一共四题,学生 70 分钟全部一次 AC,没有出现反复调试或者卡思路的情况。

1.骰子计分
题目描述
掷 3 个 6 面骰子,结果用整数 a、b、c 表示,然后根据以下规则计算总分:
- 三个骰子点数完全相同(
a = b = c):得分 =1000 * a - 恰好两个骰子点数相同:得分 =
500 * x(x是那两个相同点数的值) - 三个骰子点数都不同:得分 =
100 * min(a, b, c)
解题思路
先判断三个骰子点数是否全相同,是就返回1000乘该点数;不是就看是否有两个点数相同,有就返回500乘重复点数。若前两种都不满足,返回100乘三个点数里的最小值。
2.辅音替换密码
题目描述
你要实现一个简单替换密码,只对备忘录(memo)里的辅音字符生效:
- 只影响辅音:
b,c,d,f,g,h,j,k,l,m,n,p,q,r,s,t,v,w,x,y,z(大小写都算),元音和其他字符保持不变。 - 规则:把第 k 个出现的辅音向后移动到下一个辅音;如果是
z就循环到b。 - 大小写必须保留(大写仍为大写,小写仍为小写)。
- 时间复杂度不超过
O(len(memo)²)即可。
例子:
memo = "CodeSignal", k = 3 → 输出 "CodeTignam"
解释:
- 原辅音:
C, d, S, g, n, l - 第 3 个辅音
S向后移一位变成T,其余不变。
解题思路
先确定辅音范围(排除元音a/e/i/o/u的大小写),再初始化辅音计数器 2. 遍历字符串,遇到辅音就计数,数到k时替换成下一个辅音(z->b、Z->B),计数清零;非辅音直接保留,最后拼接结果。
3.迷宫与传送门
题目描述
你要探索一个矩形矩阵形状的迷宫,里面包含障碍物和传送门。你从左上角 (0, 0) 出发,目标是到达右下角 (n-1, m-1),且只能一直向右移动。
解题思路
用一个字典记录传送点,一个集合记录走过的位置。从起点开始一步步走,如果踩到障碍物直接返回-1;如果走到之前到过的位置,说明进入循环,返回-2;顺利到达终点就输出步数。注意处理好传送机制和状态记录就行。
4.可嵌入的最大正方形面积
题目大意
给定一个数组 cityLine,每个元素代表一栋摩天大楼的高度,每栋楼宽度固定为 1,且彼此紧密相邻。你的任务是找出能嵌入这排大楼的最大正方形的面积。
解题思路
用二分查找猜最大正方形边长(范围0到高楼数量),每次取中间值mid,验证是否有连续mid栋楼高度>=mid。若验证通过,尝试更大边长;若不通过,尝试更小边长,最后最大可行边长的平方就是答案。
OA卡时间怎么办?
如果担心卡思路、调不出 bug 或时间不够,现在不少人选择 OA实时面试辅助 。简单来说就是考试过程中有远程语音协助,关键时刻给一点思路提示,避免在某一题上耗太久。
我们这边之前也协助过不少 Hudson River Trading、Optiver、Jane Street、TikTok、Amazon 的 OA / VO。很多时候其实就差一个小提醒,就能把整场节奏拉回来。最近要做 OA 的同学,可以提前了解一下这种方式。