
這場是 Amazon Intern OA,平台 HackerRank,時長 70 分鐘。題目不算難,但很看重細節處理與表達清晰度。
Q1:回傳第一個只出現一次的字元索引
面試可直接說的話術
我會分兩趟:
- 第一趟先統計每個字元出現次數(HashMap 或頻次陣列)。
- 第二趟按原字串順序掃,找到第一個頻次為 1 的字元,回傳其索引。
若不存在,回傳題目規定的預設值(常見是 -1)。
複雜度
- 時間複雜度:
O(n) - 空間複雜度:
O(Σ)(字元集固定時可視為常數)
Q2:統計和為目標值的「不同配對數」

面試可直接說的話術
逐一看每個數 x:
- 先算補數
need = target - x - 若
need之前出現過,就代表形成一組 - 為了去重,只記錄這組中的較小值
最後統計這些“較小值”的不同個數,就是不同配對數。
這樣去重很穩,因為同一數值對(例如 2 和 7)不管先遇到誰,都會對應到同一個 key(2)。
複雜度
- 時間複雜度:
O(n) - 空間複雜度:
O(n)
臨場常見失誤
- Q1 找到任意唯一字元就回傳,沒保證是第一個
- Q1 回傳字元本身而不是索引
- Q2 只做到 two-sum 命中,忘了去重
- Q2 因順序不同重複計數同一組
一句話總結
這套 OA 不靠難演算法,重點是基礎要穩、邊界要齊、去重邏輯要講清楚。
如果你也在準備 Amazon Intern OA(HackerRank),歡迎交流同類高頻題與答題話術。
延伸閱讀(外鏈)
需要面試真題? 立刻聯繫微信 Coding0201,獲得真題。
聯繫方式
Email: [email protected]
Telegram: @OAVOProxy