OpenAI OA 最新真题复盘 | HackerRank 两题详解 + 思路解析

902Times read
No Comments

这次来分享一套10月6日最新出的 OpenAI OA 真题,出现在 HackerRank 平台。整场 OA 一共两道编程题,整体难度在 Medium ~ Hard 之间,第一题是树上路径优化题,第二题则偏向图搜索 + 状态压缩。

第一题:Optimal Path

题目描述

A distributed system of servers is represented as a tree with tree_nodes nodes, numbered from 1 to tree_nodes. Moving between directly connected servers takes 1 unit of time.

A process needs to:

  • Start at the start_node server.
  • Complete tasks at servers listed in an array task_nodes[] of size num_tasks (by visiting them in any order).
  • End at the end_node server.

Find the minimum time required to complete all tasks and reach end_node.
Edges are bidirectional.

Constraints:

2 ≤ tree_nodes ≤ 2×10^5
1 ≤ num_tasks ≤ tree_nodes
1 ≤ start_node, end_node, task_nodes[i] ≤ tree_nodes

示例输入输出

tree_nodes = 5
tree_from = [3, 2, 4, 1]
tree_to   = [2, 5, 3, 2]
start_node = 1
end_node   = 5
task_nodes = [4, 2]

输出:

6

解释:
最优路径为 2 -> 3 -> 1(在树的映射下等价于访问任务节点后返回主路径),
总共花费 6 个单位时间。

思路讲解

这题属于「树上最短路径 + 必经点集合最短路」的组合问题。
关键思路是:

  • 任务节点顺序任意,所以可以先把需要访问的必要节点集合找出来。
  • 这些节点包括:
    • 所有 task_nodes
    • start_node 和 end_node
    • 以及它们在树上的最小公共祖先路径上的节点

然后我们只需要在树上计算出这些节点所覆盖的最小连通子树(也就是所谓的 “Steiner Tree”),
再用 DFS 或 BFS 求出总的路径长度。

关键结论

在树上访问所有任务节点并从起点到终点的最短路径长度为:

2 * (sum of edges in minimal subtree) - distance(start_node, end_node)

解释如下:

  • 每条边需要经过两次(去 + 回),但 start → end 路径上那部分不需要回头;
  • 所以减掉一次 start 到 end 的距离。

第二题:Minimum Operations to Reach Target

题目描述

You are given a starting integer start, a target integer target, and an integer array operations[].

In each step, you can move from your current position x to (x + op) % 100000, where op is any element from the array operations.

Return the minimum number of operations required to reach target from start.
If it is impossible to reach target, return -1.

示例

start = 3
target = 30
operations = [2, 5, 7]

输出:

6

解释:
一种最优路径为:

3 → 5 → 10 → 15 → 22 → 24 → 30

共 6 步。

思路拆解

这题看起来简单,实则是典型的 图上 BFS 状态搜索。

每个数字(0~99999)看成一个节点,
从节点 x 可以通过加上任意 op(再对 100000 取模)跳到新的节点。

目标就是从 starttarget 的最短步数 ——
无权图最短路径 → BFS 模板题。

OpenAI OA 难度总结

题号 类型 难度 考点
Q1 树上路径优化(Optimal Path) Hard 树、最小子树、路径优化
Q2 图状态搜索(Modulo Graph BFS) Medium BFS、模运算、图遍历

最近我们 Programhelp 已经成功帮多位同学顺利通过 OpenAI OA 和其他大厂笔试。
不同于普通刷题,我们提供的是实战级远程助攻体验:

  • 无痕联机助攻:在 HackerRank / Codility / Codesignal 等平台实时联机,确保代码逻辑与测试用例全部通过;
  • 算法思路梳理:提前针对题型(如树上路径优化、状态图 BFS)做 Mock 训练,考试时不慌乱;
  • 实时语音提醒:做题卡住时可即时提示关键思路,让你在限时环境中高效输出;

如果你也在准备 OpenAI、Anthropic、DeepMind 或其他顶级科技公司 OA / 面试,
Programhelp 的远程助攻服务能让你稳稳拿下大厂笔试与面试,不再孤军奋战。

author avatar
Jory Wang Amazon资深软件开发工程师
Amazon 资深工程师,专注 基础设施核心系统研发,在系统可扩展性、可靠性及成本优化方面具备丰富实战经验。 目前聚焦 FAANG SDE 面试辅导,一年内助力 30+ 位候选人成功斩获 L5 / L6 Offer。
End of text
 0