IBM OA 高频真题分享|如何通过 IBM OA ?

31次閱讀
No Comments

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。
正文完
 0