Amazon ng 一亩三分地 | Amazon OA 新鲜面经分享 | 13 分钟过两道题

113閱讀
沒有評論

刚刚做完今天的最新 Amazon OA ,特来地里回报社会。这套题体感难度不大,全程 70 分钟,但我大概 13-15 分钟就写完提交了。只要细心一点不写出 bug,基本都能 AC。希望能帮到正在申请 Amazon NG 岗位的同学,大家加油!

Amazon OA 整体难度 & 心得

  • 平台:HackerRank
  • 题量:2 编程题
  • 总时长:70 分钟
  • 我的用时:13 分钟(T1 8 分钟 + T2 5 分钟)
  • 难度判断:Easy-Medium,比一亩三分地上大家传的旧版 OA 简单很多
  • 考点方向:Interval merge、greedy、sliding window、modulo 分配

Amazon 现在 NG OA 的风格更偏 “你能不能写对基础代码、处理好边界”,不是那种卡你心态的 tricky 高频题。

T1 — Interval Connectivity Reduction

给你一组数轴上的区间,允许添加一个长度不超过 k 的新区间。目标是让添加后所有区间的连通块数量最少,返回这个最小数量。两个区间重叠或端点接触就算连通。

解题思路其实核心就是 “合并区间 + 滑动窗口” 这两个步骤。首先得把给的所有区间按左端点排好序,然后遍历一遍,把重叠或者碰到的区间合并成一个个不相连的 “连通块”。比如原来有几个重叠的区间,合并后就变成一个大的连通块了,这样后续就只需要关注这些连通块之间的空隙。

接下来要算这些连通块之间的空隙长度,比如合并后有块 1 [start1, end1]、块 2 [start2, end2],那它们之间的空隙就是 start2 减去 end1。我们的目标是加一个长度不超过 k 的新区间,尽量多覆盖这些空隙 —— 每覆盖一个空隙,连通块的数量就会少一个。这时候就用滑动窗口的思路,维护一个窗口,算窗口里连续空隙的总长度,只要总长度不超过 k,就说明这些空隙能被一个新区间填满。最后用初始的连通块数量,减去窗口能覆盖的最大空隙数量,就是最小可能的连通块数了。

常见容易出错的地方:一是合并区间前忘了按左端点排序,导致合并出错;二是算空隙的时候把 start [i+1] 和 end [i] 写反了;三是滑动窗口的左指针没正确推进,搞出死循环;四是判断覆盖长度的时候,漏了 “等于 k” 的情况。

T2 — Maximizing Distinct Hash Values

给你一个整数数组 param,你可以选一个等长的非负整数数组 secretKey。定义 hash[i] = secretKey[i] % param[i],要让 hash 数组里不同值的数量最多,返回这个最大数量。

这道题用贪心算法就能解决,关键是要先给 param 数组排序。核心思路是尽量生成 0、1、2 这样连续的小哈希值,因为模运算的结果肯定比模数本身小。

具体做法是:先把 param 数组从小到大排好序,然后维护一个变量 current_val,一开始是 0,代表我们当前想凑出来的哈希值。接着遍历排序后的 param 数组:如果 current_val 比当前的 param [i] 小,那我们就能选一个合适的 secretKey,让它对 param [i] 取模等于 current_val,这时候就把 current_val 加 1,继续看下一个;如果 current_val 大于等于 param [i],说明这个 param [i] 太小了,没法生成这么大的余数,只能跳过。最后 current_val 的值,就是最多能得到的不同哈希值个数。

常见容易出错的地方:一是没给 param 数组排序,贪心逻辑就没法生效;二是没考虑到 param [i] 等于 1 的时候,取模只能得到 0,没法生成其他值;三是 current_val 的增长逻辑写错了;四是把 “最大不同哈希值个数” 误解成了 param 数组去重后的元素个数。

这套题虽然不难,但对于没刷过类似 Interval 或 Constructive Greedy 题目的同学,要在 70 分钟内写完且 Debug 成功,压力还是不小的。如果你对 OA 还是没底,或者马上要接 HackerRank 的链接了不敢点,看下面

Final 季救命稻草!CS 作业/Project 搞不定?找 Programhelp

想要在激烈的求职季中弯道超车?Programhelp 为你提供从OA到 Offer 的全流程硬核助攻。

针对 OA ,我们采用 ToDesk 远程无痕操作,支持 HackerRank、Codesignal 等全平台,承诺 100% 通过率,安全且隐蔽,不过不收费。

VO环节,我们提供灵活的解决方案:既有北美 CS 专家通过自研无痕文档提供实时思路提示(涵盖 Code、BQ、System Design),助你对答如流;也有基于摄像头与变声技术的代面试服务,支持“对口型”或“全替”模式,完美解决怯场难题。

更有 全套包 Offer 套餐,承包从 OA、面试到薪资谈判的所有环节,一站式服务直到你拿到满意的 Offer。把专业的事交给我们,你只需准备入职!

NG 的求职真的很残酷,大家都在抢同一批机会。
但这一届的竞争不是比谁会更难的题,而是比谁 更稳、更快、更少出错。
所以如果你现在压力很大、很焦虑——别急,我们都经历过。
一步一步来,把 OA 稳住,就是最好的开始。
祝你早日拿到「Congratulations!」邮件。

author avatar
jor jor
正文完
 0