剩余银饰的重量
前言:本专栏将持续更新互联网大厂机试真题,并进行详细的分析与解答,包含完整的代码实现,希望可以帮助到正在努力的你。关于大厂机试流程、面经、面试指导等,如有任何疑问,欢迎联系我,wechat:steven_moda;email:nansun0903@163.com;备注:CSDN。
题目描述
有 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
本文介绍了一道华为在线测评(OD)的编程题,涉及到熔炼银饰的策略。每回合选择三块最重的银饰熔化,根据不同情况计算剩余重量。题目要求根据输入的银饰重量数组,返回最后剩余的银饰重量。
订阅专栏 解锁全文

343

被折叠的 条评论
为什么被折叠?



