Amazon OA Hackerrank 4月真题放送|最新题型变化 + 高频考点全解析(2026版)

四月份最新的 Amazon OA 来了,相比去年,亚马逊明显在增加一些需要现场观察和推导的题型,纯靠背模板已经越来越难吃到满分。这次依然是标准配置: Amazon OA Hackerrank (平台), 2道coding题 + 70分钟左右(部分角色还会出现Work Simulation)。我把4月出现频率较高的真题整理出来,帮大家快速准备。

Amazon OA Hackerrank 4月真题放送|最新题型变化 + 高频考点全解析(2026版)

4月 Amazon OA 整体配置(最新)

平台:HackerRank
题量:2题
时间:70min(部分场次60min)

常见组合:

  • 1 道中等(偏思维)
  • 1 道中等偏上(偏实现 + 细节)

注意:几乎没有纯简单题

最少安全组数量

题目翻译

一家金融服务公司向 AWS 请求部署其私有云网络。考虑到公司业务的敏感性,AWS 还建议他们添加一种特定类型的安全系统。

网络中共有 n 台服务器,第 i 台服务器的安全需求由 security[i] 表示,其中每个元素代表该服务器的安全防护等级。

为了确保最高级别的防护,AWS 安全团队在设计安全系统时遵循以下规则:

  • 同一个安全组内的所有服务器,安全等级必须完全相同;
  • 任意两个安全组内的服务器数量,差值不能超过 1。

给定一个整数数组 security,请计算为保障网络安全所需的最少安全组数量。

示例

输入:n = 6security = [2, 3, 3, 3, 2, 1]

分组方案如下:

  • 等级 1:1 台服务器 → 1 个组
  • 等级 2:2 台服务器 → 1 个组
  • 等级 3:3 台服务器 → 2 个组(每组 1-2 台,差值≤1)最终需要 4 个组。

函数要求

完成函数 findMinimumGroups(security),输入为整数数组 security,返回最少需要的安全组数量(整数)。

思路

统计各等级频率,从最小频率向下枚举基础组大小S,若各频率均可由S和S+1组成则累加组数

最大安全库存总量

题目翻译

作为汽车制造公司的物流经理,你负责将货物存储在安全仓库中。

给定一个长度为 n 的数组 deliveryLogs,其中第 i 个元素代表第 i 批货物的零件数量;同时给定一个偶数 k,代表可用的安全仓库数量。

货物存储规则如下:

  1. 每个仓库只能存储来自同一批货物的零件,不同批次的货物不能混存;同一批货物的零件可以拆分到多个仓库。
  2. 存储完成后,货物数量最多的 k/2 个仓库会被入侵,无法计入安全库存。
  3. 剩余的 k/2 个仓库是安全的,只有这些仓库里的货物会被计入安全库存。

你的任务是:计算最大可实现的安全库存总量。

示例

输入:n = 4deliveryLogs = [3, 5, 9, 6]k = 4

如果将每批货物单独存入一个仓库,仓库库存为 [3,5,9,6]

此时货物最多的 2 个仓库(9、6)被入侵,剩余安全库存为 3+5=8

(最优方案可得到更高的安全库存,需通过拆分批次实现)

函数要求

完成函数 secureMaximumDeliveries(deliveryLogs, k),输入为整数数组 deliveryLogs 和整数 k,返回最大安全库存总量(整数)。

思路

利用贪心策略,通过枚举可能的中位数水位X,计算每个记录能拆出多少个容量为X的块及余数,取前k大块求和S,最大化 S – (k/2)*X 的值

虚拟机租赁总收益

题目翻译

在 Amazon EC2 中,共有 n 种虚拟机(VM)类型,每种类型有一定数量的可用实例。

每次租赁一个 VM 实例时,客户需要支付的费用等于:

所有 VM 类型中最小的非零可用数量 + 所有 VM 类型中最大的可用数量

共有 m 个客户依次前来租赁。每个客户始终选择当前可用数量最多的 VM 类型进行租赁;租赁后,该 VM 类型的可用数量减 1。

请计算完成所有租赁请求后,累计获得的总收益。

示例

输入:n = 3vmStock = [0, 2, 4]m = 4

模拟租赁过程:

表格

客户 选择的 VM 类型 费用(最小非零 + 最大) 租赁后剩余库存
初始 [0, 2, 4]
1 3 号(4 个) 2 + 4 = 5 [0, 2, 3]
2 3 号(3 个) 2 + 3 = 4 [0, 2, 2]
3 2 号 / 3 号(2 个) 2 + 2 = 3 [0, 1, 2]
4 3 号(2 个) 1 + 2 = 3 [0, 1, 1]

总收益:5 + 4 + 3 + 3 = 15,因此答案为 15。

函数要求

完成对应函数,输入为 VM 库存数组 vmStock 和客户数 m,返回总收益(整数)。

思路

拿一个有序结构存库存和频次,每次取最小key和最大key,加起来,最大key的库存减一,减到0就删掉。循环m次完事。

包裹标签最大拆分份数

题目

亚马逊的一个团队需要确保所有包裹按标签正确排序。每个包裹的标签是一个大写英文字母,所有标签组成字符串 packages,其中第 i 个字符代表第 i 个包裹的标签。

为了优化排序流程,团队需要分析字符串的每个前缀(长度从 1 到 n),计算该前缀最多能被拆分为多少个相等的部分,拆分需满足:

  • 每个部分中,每个字符的出现次数,必须与其他所有部分完全相同。

给定字符串 packages,请对每个前缀长度 t(1 ≤ t ≤ n),计算该前缀满足条件的最大拆分份数。

示例

输入:packages = "ABAB"

各前缀的计算结果如下:

表格

前缀长度 前缀字符串 说明 最大拆分份数
1 A 单字符无法拆分 1
2 AB A、B 各出现 1 次,无法拆分为多份 1
3 ABA A 出现 2 次、B 出现 1 次,无法拆分 1
4 ABAB A 出现 2 次、B 出现 2 次,可拆分为 2 份(”AB”+”AB”) 2

函数要求

完成对应函数,输入为字符串 packages,返回一个长度为 n 的数组,其中第 i 个元素代表前缀长度为 i+1 时的最大拆分份数。

思路

枚举可能的分段长度(必须是总长的因数),检查每段字符频率是否相同。每个位置维护一个最大段数,最后输出列表。

Amazon OA Hackerrank 冲刺阶段建议

如果你正在准备亚马逊SDE1、SDE2或Intern 2026 OA,这些高频题吃透后,通过率会显著提升。4月题目整体思路清晰,但需要较强的临时分析能力。

需要这些题的详细思路、Python/Java完整代码、更多变体,或者其他大厂(Meta、Google、字节、微软等)最新OA真题,或者咨询Programhelp的 OA辅助服务 都欢迎留言或私信。我会根据你的具体情况给出针对性建议。

祝大家4月及后续的亚马逊OA顺利通过,早日拿到心仪的Amazon Offer!继续加油~

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