最新华为上机考试
真题目录:点击查看目录
华为OD面试真题精选:点击立即查看
2025华为od机试2025C卷-华为OD上机考试2025年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],重量之间使用空格隔开
输出描述
如果剩余两块,返回较大的重量(若两块重量相同,返回任意一块皆可);如果只剩下一块,返回该块的重量;如果没有剩下,就返回 0。
示例一
输入
3
1 1 1
输出
0
说明
选出 1 1 1,得到 0,最终数组转换为 [],最后没有剩下银块,返回 0
示例二
输入
3
3 7 10
输出
1
银饰熔炼算法

博客介绍了华为OD机试中关于银饰熔化的题目,涉及C++、Java、JavaScript和Python等语言的解题思路。通过模拟银饰熔化过程,每次选取最重的三块银饰进行熔化,直到剩余不足三块。文章提供了详细的解题步骤和完整用例。
订阅专栏 解锁全文

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



