算法大师头像
关注
8.26华为OD机试真题 新系统 - 仓库查询 (Java/Py/C/C++/Js/Go)封面图

8.26华为OD机试真题 新系统 - 仓库查询 (Java/Py/C/C++/Js/Go)

仓库查询

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

文章来源转载

评论

赞0

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--