华为OD机试真题 Java 实现【最差产品奖】【2023Q1 200分】

在这里插入图片描述

一、题目描述

A公司准备对他下面的N个产品评选最差奖,评选的方式是首先对每个产品进行评分,然后根据评分区间计算相邻几个产品中最差的产品。评选的标准是依次找到从当前产品开始前M个产品中最差的产品,请给出最差产品的评分序列。

二、输入描述

第一行,数字M,表示评分区间的长度,取值范围是0 第二行,产品的评分序列,比如[12,3,8,6,5],产品数量N范围是-10000

三、输出描述

评分区间内最差产品的评分序列。

四、解题思路

  1. 读取输入的评分区间长度 M 和产品评分序列 scoreArr
  2. 创建一个双端队列 deque,用于存储最差产品的索引。
  3. 遍历评分序列的前 M 个产品,将索引添加到队列中。在添加索引之前,先将队列尾部不符合最差产品要求的索引移除。
  4. 创建一个列表 list,用于存储评分区间内最差产品的评分序列。
  5. 从第 M 个产品开始遍历评分序列,每次遍历都将队列头部的索引对应的评分添加到 list 中。
  6. 在添加新的索引之前,先将队列尾部不符合最差产品要求的索引移除。
  7. 检查队列的头部索引是否超出评分区间范围,如果超出&

你可能感兴趣的:(java,华为,开发语言,面试,算法)