IBM OA 高頻真題分享|如何透過 IBM OA ?

IBM OA 一般是兩道題,加起來不到 10 分鐘就全部提交透過了,屬於典型的白給題。說實話,IBM 的 Online Assessment 整體難度偏低,只要平時刷題量夠多、模板熟練,很容易就秒殺。我最近同時在準備 Amazon、Google、Microsoft 的 OA 和 VO,也都比較順利,所以順手把 IBM 這次遇到的一些高頻真題簡單整理了一下,分享給還在準備 IBM 的同學。

IBM OA 高頻真題分享|如何透過 IBM OA ?

IBM OA 高頻真題分享-Programhelp獨家

題目 1:高負載時間戳索引

題目描述

找出所有時間戳的索引(0 基),滿足該時間戳的伺服器負載大於平均伺服器負載的兩倍。

函式 getHighLoadTimestamps 接收一個輸入:

  • int load[n]:各個時間戳的伺服器負載值

函式需要返回一個整數陣列,按升序排列所有滿足 load[i] > 2 × 平均伺服器負載 的時間戳索引(0 基)。如果沒有滿足條件的索引,返回空陣列。

示例

  • n = 3
  • load = [1, 2, 9]
  • 平均負載 = (1 + 2 + 9) / 3 = 4,兩倍平均負載為 8
  • 只有索引 2 的負載值 9 > 8,因此答案為 [2]

約束條件

  • 1 ≤ n ≤ 2 × 10^5
  • 1 ≤ load[i] ≤ 10^9

題目 2:物品最小總花費計算

題目描述

給定一組物品及其對應的多個可選價格,物品總數為 numItems,編號從 0 到numItems-1

有兩個長度為n的整數陣列定義了所有可選價格:itemIdcost,其中:

  • itemId[i] 是第i個價格條目對應的物品編號
  • cost[i] 是該價格條目對應的價格

實現一個函式,計算為每個物品恰好選擇一個價格條目的最小總花費。如果有任何物品沒有對應的價格條目,返回-1

函式 minTotalCost 接收以下輸入:

  • int numItems:物品總數,編號 0 到numItems-1
  • int itemId[n]:每個價格條目對應的物品編號陣列
  • int cost[n]:每個價格條目對應的價格陣列

函式需要返回一個長整數,表示選擇所有物品的最小總花費;如果無法為所有物品選擇價格,返回-1

示例

  • numItems = 3
  • n = 4
  • itemId = [2, 0, 1, 2]
  • cost = [8, 7, 6, 9]
  • 物品 0 的最小价格為 7,物品 1 的最小价格為 6,物品 2 的最小价格為 8
  • 總最小花費 = 7 + 6 + 8 = 21

題目 3:最多不重疊時間視窗選擇

題目描述

給定兩個整數陣列 startTimeendTime,長度均為n。第i個時間視窗的起始時間為startTime[i](包含),結束時間為endTime[i](不包含)。

實現一個函式,計算最多可以選擇多少個不重疊的時間視窗。

函式 selectMostCompatibleWindows 接收以下輸入:

  • int startTime[n]:時間視窗的起始時間陣列
  • int endTime[n]:時間視窗的結束時間陣列

函式需要返回一個整數,即最多可選擇的不重疊時間視窗數量。

示例 1

  • n = 3
  • startTime = [1, 1, 2]
  • endTime = [3, 2, 4]
  • 可以選擇視窗 0(1-3),或者選擇視窗 1(1-2)和視窗 2(2-4),最多 2 個不重疊視窗,因此答案為2

示例 2(Sample Case 0)

  • n = 4
  • startTime = [1, 1, 2, 3]
  • endTime = [2, 3, 3, 4]
  • 可以選擇視窗 0(1-2)、視窗 2(2-3)、視窗 3(3-4),共 3 個不重疊視窗,因此答案為3

約束條件

  • 1 ≤ n ≤ 10^5
  • 1 ≤ startTime[i], endTime[i] ≤ 10^9

題目 4:最大水位漲幅計算

題目描述

氣象學家按時間順序記錄了河流水位陣列arr,每個值是按時間先後記錄的讀數。

你的任務是找到最大的水位漲幅,即滿足以下條件的最大差值 arr[j] - arr[i]

  • i < j:更低的讀數必須出現在更早的時間
  • arr[i] < arr[j]:更早的讀數必須嚴格小於之後的讀數

如果不存在這樣的讀數對(即沒有任何讀數高於之前的讀數),返回-1

示例 1

  • arr = [5, 3, 6, 7, 4]
  • 所有滿足條件的差值中,最大為 7 - 3 = 4,因此輸出4

示例 2

  • arr = [4, 3, 2, 1]
  • 沒有任何讀數高於之前的讀數,因此輸出-1

約束條件

  • 1 ≤ 陣列長度 ≤ 2 × 10^6
  • -10^6 ≤ arr[i] ≤ 10^6

不知道如何準備IBM OA?

我們也順便整理了這些 IBM OA 題目的完整解題思路和程式碼模板。如果需要詳細題解,歡迎私信獲取。

如果你正在準備大廠 OA 或面試,需要專業輔助,我們可以提供幫助:OA代寫 支援 HackerRank、牛客網、Codesignal 等平臺,確保所有測試用例 100% 透過,不透過不收費;VO 面試實時輔助由北美 CS 專家提供思路引導;也可提供代面試、全程包過服務,從 OA 到 Offer 談判全程護航。其他如模擬面試、演算法輔導、簡歷最佳化等均可支援。歡迎私信詳談,我們會根據你的情況給出合適方案。祝大家面試順利,早日拿到心儀 Offer!

author avatar
Jory Wang Amazon資深軟體開發工程師
Amazon 資深工程師,專注 基礎設施核心系統研發,在系統可擴充套件性、可靠性及成本最佳化方面具備豐富實戰經驗。 目前聚焦 FAANG SDE 面試輔導,一年內助力 30+ 位候選人成功斬獲 L5 / L6 Offer。
END
 0