
最近 Amazon intern OA 很常出現兩題組合。下面用實戰角度,快速講清這兩題的核心思路。
題目 1:機器人閾值下的穩定配置數

題意抽象
給定 coordinationThreshold[i],每台機器人要麼 Operating、要麼 Standby。
設總開機數為 k:
- 若機器人
i是 Operating,需滿足:k - 1 >= threshold[i] - 若機器人
i是 Standby,需滿足:k < threshold[i]
求不故障配置總數。
核心觀察
不能做 2^n 暴力。
這題有明顯單調性:k 固定後,誰可開機、誰必待機基本由閾值決定。可枚舉 k = 0..n 逐一判定。
排序後判定
將閾值升序為 t[0..n-1]。
若有 k 台開機:
- 前
k台(閾值小)作為開機候選,要滿足t[i] <= k - 1 - 後
n-k台作為待機候選,要滿足t[i] > k
分界成立即表示該 k 合法。
複雜度
- 排序
O(n log n) - 枚舉判定
O(n)或O(n log n)
足夠通過 OA。
題目 2:檢查日不為負且不超容量的最少補貨天數
題意抽象
tasks[i] 代表每天晚上動作:
tasks[i] > 0:入庫tasks[i] < 0:出庫tasks[i] = 0:檢查日(庫存必須非負)
每天早上可緊急補貨(數量任意),但任何一天庫存不可超過 max_products。求最少補貨天數,無解回傳 -1。
解題主線
把補貨視為單調不減的調整量,每次補貨都盡量覆蓋更長未來區間。
常見做法:
- 做
tasks前綴和,得到基礎庫存軌跡 - 建後綴最小值結構,快速判斷補到某值後能合法走多遠
- 只在必要時(遇到檢查日會變負)才補貨
- 補貨時貪心拉到當前容量允許的最大安全值,減少補貨次數
為何貪心成立
目標是最少「補貨天數」,不是最少補貨量。
因此觸發補貨時,讓單次補貨覆蓋最遠未來,能直接降低後續再次補貨機率。
複雜度
前綴和 + 後綴最小值可做到線性或近線性,適合 OA。
Amazon Intern OA 實戰建議
這兩題共同點:
- 重建模,不重花哨技巧
- 先寫出不等式與邊界,再實作會快很多
建議流程:
- 先抽象條件
- 找單調性或可分界性
- 再選「枚舉 + 判定」或「貪心推進」
總結
近期 Amazon intern OA 這組合非常高頻:
- 題 1:閾值排序 + 枚舉開機數
- 題 2:前綴和 + 後綴最小值 + 必要時貪心補貨
把這兩種模型吃透,對 OA 提升很直接。
💬 需要 OA / VO 討論支援
Amazon、Google、TikTok、Microsoft、Meta、Uber 等題型近期都在持續整理。
有不確定的題可以直接來問。
微信:Coding0201
#留學生找工作 #sde找工 #留學生求職 #北美求職 #美國留學生 #ng找工 #Google面試 #亞麻oa #TikTok面試 #面經