华为OD真题--评选最差产品-带答案

/**
* A公司准备对他下面的N个产品评选最差奖,评选的方式是首先对每个产品进行评分,然后根据评分区间计算相邻几个产品中最差的产品。
* 评选的标准是依次找到从当前产品开始前M个产品中最差的产品,请给出最差产品的评分序列。
*
* 输入描述:
* 第一行,数字M,表示评分区间的长度,取值范围是0 *
* 输出描述:
* 评分区间内最差的产品评分序列
* 3
* 12,3,8,6,5
*
* 输出
* 3,3,5
* 12,3,8 最差的是3
* 3,8,6 最差的是3
* 8,6,5 最差的是5
*/

public class WorstProduct {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int range = Integer.parseInt(sc.nextLine());
        int [] score = Arrays.stream(sc.nextLine().split(",")).mapToInt(Integer ::parseInt).toArray();
        //滑动窗口
        int minScore = 0;
        for (int i = 0; i <= score.length - range; i++) {
            minScore = score[i];
            for (int j = i; j < i + range; j++) {
                minScore = Math.min(minScore, score[j]);
            }
            System.out.print(minScore);
            if (i != score.length - range) {
                System.out.print(",");
            }
        }
    }
}

你可能感兴趣的:(华为OD最新机试真题训练题,华为od,java)