华为OD机试-剩余银饰的重量(Java&Python&Js)100%通过率

2023-12-16 02:45:35

题意

有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与yx差值的银块无法被熔掉。
最后,如果剩余两块,返回较大的重量(若两块重量相同,返回任意一块皆可);如果只剩下一块,返回该块的重量;如果没有剩下,就返回0。

输入

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

输出

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

示例1

<
输入

3

1 1 1

输出 0

文章来源:https://blog.csdn.net/qq_52994629/article/details/134912009
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。