最近這段時間連續打了好幾場 Amazon Intern OA ,真的感覺今年題型重複率挺高的,尤其是這一批,整體風格比往年更偏思維 + 細節實現。不是那種純刷 LeetCode 就能穩過的型別,得把常見模型吃得很熟,而且細節處理一定要穩,不然很容易陰溝裡翻船。我趁熱把這段時間遇到的幾道高頻原題整理出來了,分享給大家參考:

題目 1
某金融服務公司向 AWS 申請私有云網路部署。考慮到公司業務的敏感性,AWS 建議其部署特定型別的安全系統。
網路中共有n臺伺服器,第i臺伺服器的安全需求由security[i]表示,每個元素代表該伺服器所需的安全等級。為實現最高階別的防護,AWS 安全團隊推薦在設計安全系統時遵循以下規則:
- 同一個安全組內的所有伺服器,安全等級必須完全相同;
- 任意兩個安全組內的伺服器數量,差值不能超過 1。
給定整數陣列security,請計算為保障網路安全所需的最少安全組數量。
示例
n = 6,security = [2, 3, 3, 3, 2, 1]
可按如下方式分組:
- 組 1:安全等級 1,1 臺伺服器
- 組 2:安全等級 3,3 臺伺服器
- 組 3:安全等級 2,2 臺伺服器
- 組 4:安全等級 2,2 臺伺服器最終需要 4 個安全組。
函式說明
在編輯器中完成findMinimumGroups函式:
- 入參:
int security[n]:表示各裝置安全等級的整數陣列 - 出參:所需的最少安全組數量
解題思路
同等級伺服器分組,要求各組規模差距不超過 1,求最少總組數。 思路: 先統計每個等級的頻次,再遍歷可能的組容量 k。判斷每個頻次能否拆解為若干個容量為 k 或 k+1 的組。如果可行,累加組數並記錄最小值。
題目 2
你是某汽車製造公司的物流經理,負責將貨物儲存在安全倉庫中。
給定長度為n的陣列deliveryLogs,其中第i個元素代表第i條物流記錄中的零件數量;同時給定一個偶數k,代表可用的安全倉庫數量。
儲存貨物時需遵循以下規則:
- 每個倉庫只能儲存來自同一條物流記錄的貨物,不同記錄的貨物不能混存;但同一條記錄的貨物可以拆分到多個倉庫中。
- 儲存完成後,貨物數量最多的 k/2 個倉庫會被入侵。
- 剩餘的 k/2 個倉庫是安全的,只有這些倉庫中的貨物會被計入安全庫存。
你的任務是:計算可儲存的最大安全貨物數量。
示例
n = 4
deliveryLogs = [3, 5, 9, 6]
k = 4
如果將每條記錄的貨物單獨存入一個倉庫,各倉庫貨物數為[3, 5, 9, 6]。此時貨物最多的 2 個倉庫(9 和 6)會被入侵,安全庫存為3+5=8。
解題思路
將 n 類日誌分配到 k 個倉庫,每倉僅限一類日誌。系統會剔除最大的 k/2 個倉庫,保留最小的 k/2 個。目標是讓保留倉庫的貨量總和最大。 思路: 採取均攤策略,避免單個倉庫過大被剔除。透過二分法列舉目標值 x,驗證能否拆分出至少 k/2 個貨量達到 x 的倉庫,進而最大化留存總量。
題目 3
在亞馬遜倉庫機器人系統中,多臺機器人同時執行以高效運輸包裹。每臺機器人有兩種狀態:待機(Standby)或執行(Operating)。
為實現順暢協調,每臺機器人i有預設的協調閾值coordinationThreshold[i],該閾值決定了機器人故障的條件:
- 若機器人
i處於執行狀態,但其他處於執行狀態的機器人總數小於coordinationThreshold[i],則機器人i故障; - 若機器人
i處於待機狀態,但處於執行狀態的機器人總數大於等於coordinationThreshold[i],則機器人i故障。
如果任意一臺機器人故障,系統將被視為不穩定。請返回無機器人故障的有效配置總數(配置指為每臺機器人分配執行 / 待機狀態的方案,兩個配置不同當且僅當至少一臺機器人狀態不同)。
示例
n = 8
coordinationThreshold = [6, 0, 3, 3, 6, 7, 2, 7]
共有 3 種有效執行狀態選擇方案(0 基索引):
- 僅索引 1 的機器人處於執行狀態
- 僅索引 2、3 的機器人處於執行狀態
- 僅索引 6 的機器人處於執行狀態
解題思路
本質是尋找有多少種執行機器人的數量 O 能使系統穩定 設執行總數為 O。合法需滿足沒有任何機器人的閾值 Ti 等於 O,否則該機器人無論何種狀態必故障; 閾值小於 O 的機器人數必須恰好等於 O。利用計數排序統計閾值頻率,遍歷統計數量即可。
題目 4
亞馬遜新開了一個倉庫,初始庫存為 0。倉庫將接受n天的檢查,經理每天需要執行一項任務,第i天的任務由陣列tasks[i]表示。
每天傍晚,會發生以下三種情況之一:
- 若
tasks[i] > 0:向倉庫運送tasks[i]件產品,庫存增加tasks[i]; - 若
tasks[i] < 0:從倉庫發出|tasks[i]|件產品,庫存減少|tasks[i]|;若庫存不足,經理會借入產品,庫存變為負數; - 若
tasks[i] = 0:亞馬遜檢查員會檢查倉庫。若此時庫存為負數,檢查員會發出通知關閉倉庫。
每天早上,經理可以透過緊急補貨,向倉庫增加任意數量的產品(經理提前知曉所有任務詳情)。
經理的目標是:
- 確保每次檢查(
tasks[i]=0時)倉庫庫存不為負數; - 倉庫庫存始終不超過
max_products(倉庫最大容量); - 計算為滿足上述條件,最少需要緊急補貨的總產品數量。
解題思路
用貪心與字首和,預處理字尾最大庫存,鎖定未來安全的進貨空間,遍歷遇視察日且庫存為負時觸發補貨 貪心策略是 每次按 不致未來爆倉的最大極限 拉滿進貨量,若該極限值仍填不滿缺口則無解,否則進貨天數加一。
Amazon Intern OA 的更多幫助
如果你也正在準備 Amazon Intern OA ,尤其是 2026 這一批,建議重點把這幾類模型吃透,而不是盲目重新整理題。需要這套 Amazon 2026 Intern 高頻 OA 題解 + 詳細程式碼 的同學,可以直接私信我「OA」領取。
另外,如果你在 OA 階段遇到時間緊、某道題卡住、或者想大幅提升透過率,也可以找我們幫忙。我們團隊能提供實時思路指導、程式碼最佳化、模擬面試,以及從 OA 到 VO 的全流程輔助服務。很多同學透過我們的幫助都穩穩過了 Amazon OA,順利進入下一輪。
早準備、早拿 OA 透過,早點進入面試環節~