华为OD机试D卷:银饰重量计算题,24年OD统一考试(Java)

文章目录

  • 题目描述
  • 输入描述
  • 输出描述
  • 用例
  • 题目解析
  • java源码
  • js源码
  • python源码
  • c源码
  • c++源码
  • 题目描述

    有 N 块二手市场收集的银饰,每块银饰的重量都是正整数,收集到的银饰会被熔化用于打造新的饰品。

    每一回合,从中选出三块最重的银饰,然后一起熔掉。

    假设银饰的重量分别为 x 、y和z,且 x ≤ y ≤ z。那么熔掉的可能结果如下:

    如果 x == y == z,那么三块银饰都会被完全熔掉;
    如果 x == y 且 y != z,会剩余重量为 z – y 的银块无法被熔掉;
    如果 x != y 且 y == z,会剩余重量为 y – x 的银块无法被熔掉;
    如果 x != y 且 y != z,会剩余重量为 z – y 与 y – x 差值 的银块无法被熔掉。
    最后,

    如果剩余两块,返回较大的重量(若两块重量相同,返回任意一块皆可)
    如果只剩下一块,返回该块的重量
    如果没有剩下,就返回 0

    输入描述

    输入数据为两行:

    第一行为银饰数组长度 n,1 ≤ n ≤ 40,
    第二行为n块银饰的重量,重量的取值范围为[1,2000],重量之间使用空格隔开

    输出描述

    如果剩余两块,返回较大的重量(若两块重量相同,返回任意一块皆可);

    如果只剩下一块,返回该块的重量;

    如果没有剩下,就返回

    作者:飞码创造者

    物联沃分享整理
    物联沃-IOTWORD物联网 » 华为OD机试D卷:银饰重量计算题,24年OD统一考试(Java)

    发表回复