目录
正在加载目录...

Roblox OA 真题梳理|游戏 + 编程,两小时拿下

Roblox OA 玩过好几次了,每次都是过。它家其实不难,就是又玩游戏又写题,整场下来差不多两个小时,比较耗时间。最近辅助的也都顺利进面了,搞不定可以来问,北美各大小厂都可以一起对。

Roblox OA 真题梳理|游戏 + 编程,两小时拿下

T1:活动入场队列(ID Check)

Roblox OA 真题梳理|游戏 + 编程,两小时拿下

题意
活动从时间 0 开始,每个人有一个到达时间(秒)。入场要做 ID 检查,每人固定 5 分钟(300 秒)。若到达时发现排队等待检查的人数已经超过 10,则立刻离开,完成时间记为到达时间。队列长度只算「还在等、尚未开始检查」的人,正在检查的那个人不算在队列里。若某人到达的时刻正好有人检查结束,则先让队首开始检查,新来的人再入队。

返回每个人完成检查的时间(秒);中途离开的人返回其到达时间。

思路
按到达顺序模拟。维护当前检查结束时刻,以及一个队列(到达时间或下标)。每人到达时:

  • 先根据当前时间,把已经能开始检查的队首依次出队并更新「检查员空闲时间」;
  • 再看此时等待人数是否已超过 10,超过则该人离开,答案记为到达时间;
  • 否则入队,其完成时间 = max(到达, 检查员空闲时间) + 300,并更新检查员空闲时间。

题面允许 O(n2)O(n^2)O(n2),暴力模拟即可。注意「同一时刻先处理完成再入队」和「队列不含正在检查者」两个细节。

示例:times = [4, 400, 450, 500] → [304, 700, 1000, 1300]。

T2:数轴上房屋段数(删除查询)

Roblox OA 真题梳理|游戏 + 编程,两小时拿下

题意
houses 为数轴上房屋位置(互不相同),queries 为按顺序被拆掉的房屋位置。每拆掉一栋后,求当前还剩多少个「房屋段」——连续相邻的房屋算一段。

示例:houses = [1,2,3,6,7,9],queries = [6,3,7,2,9,1] → [3,3,2,2,1,0]。

思路
用哈希集存当前还在的房屋坐标。初始时统计「左侧没有邻居」的房屋个数,即为段数(每段的左端点贡献 1)。删除位置 x 时只看左右邻居是否仍在:

  • 左右都在:本来连成一段,拆开后变成两段 → 段数 +1
  • 左右都不在:整段被拆掉 → 段数 -1
  • 只有一侧在:段数不变

然后从集合中删掉 x,记录当前段数。每次删除 O(1),总时间 O(n + q)。

一点体会

Roblox 的编程题不靠难题,靠的是把规则模拟对。T1 最容易栽在”同时刻的处理顺序”和”队列是否包含正在检查的人”这两个细节;T2 最容易漏的是初始段数的计算和边界处理。

有在备考 Roblox 或其他公司 OA 的同学,可以来找我们聊聊。我们是 InterviewShow,整理了各厂高频 OA 题型和边界处理思路,按目标公司给针对性刷题清单,一对一跟着走。有需要的来聊。

END