(C语言)华为OD机试:统一考试C卷+D卷+AB卷+刷题OJ
目前在考C卷,经过两个月的收集整理,C卷真题已基本整理完毕
抽到原题的概率为2/3到3/3,也就是最少抽到两道原题。请注意:大家刷完C卷真题,最好要把B卷的真题刷一下,因为C卷的部分真题来自B卷。
另外订阅专栏还可以联系笔者开通在线OJ进行刷题,提高刷题效率。
真题目录:【C语言题解】华为 OD 机试 C卷抽中题库清单(全真题库)含考点说明以及在线OJ
专栏:(C语言) 华为OD机试C卷+B卷真题 + 在线OJ
在线OJ:点击立即刷题,模拟真实机考环境
华为OD面试真题精选:华为OD面试真题精选
题目描述
有 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]