仓库查询
2026 华为OD机试真题8月26日日华为OD上机新系统考试真题 100 分题型
点击查看华为 OD 机试真题完整目录:2026最新华为OD机试新系统卷 + 双机位C卷 真题题库目录|全覆盖题库 + 逐点算法考点详解
题目描述
有一批货物 A 会按顺序进入仓库,第 i 件货物的价格是 A[i]。
管理员会发起一组查询请求 B,对于第 j 次查询,你需要回答:在当前已经进入仓库的前 B[j] 件货物中,按价格从小到大排序后,第 j 位的价格是多少。
题目保证所有查询合法,也就是说在第 j 次查询时,当前货物数量不少于 j。
其中 1≤j≤B[j]≤5000,1≤A[i]≤1000000。
输入描述
- 参数 1:整数 n,表示货物数量;
- 参数 2:整数 m,表示查询次数;
- 参数 3:一组货物价格的列表 A,其中元素 A[i] 表示货物的价格;
- 参数 4:一组查询指令列表 B,其中元素 B[j] 表示第 j 次查询的货物范围区间。
输出描述
一个数组,其中每个元素为查询列表 B 中,每次指令查询的价格结果。
示例1
输入
7
4
9,7,2,8,14,1,8
1,2,6,6
输出
[9,9,7,8]
说明
一共有
7件货物依次进入仓库;价格依次为:9, 7, 2, 8, 14, 1, 8一共有
4次查询,查询发生的时间分别是:
- 前
1、前2、前6、前6件货物进入后注意:第 j 次查询,不是问“第几件货物”,而是问:当前已有的这些货物里,按价格从小到大排,第 j 位是多少。
第
1次查询(B[j]=1):
- 此时前
1件货物 =[9],排序后[9]。- 第
1次查找第1位,答案:9。第
2次查询(B[j]=2):
- 此时前
2件货物 =[9, 7],排序后得到:[7, 9]。- 第
2次查询要找第2位,答案:9。第
3次查询(B[j]=6):
- 此时前
6件货物 =[9,
转载自 CSDN-专业IT技术社区
原文链接:https://blog.csdn.net/banxia_frontend/article/details/164110989




