【华为机试】2024年真题C卷(java)-CPU算力分配

【华为机试】2024年真题C卷汇总(java)

一、题目

题目描述:

现有两组服务器A和B,每组有多个算力不同的CPU,其中 A[i] 是A组第i个CPU的运算能力,B[i]是 B组 第i个CPU的运算能力。
一组服务器的总算力是各CPU的算力之和。
为了让两组服务器的算力相等,允许从每组各选出一个CPU进行一次交换。 求两组服务器中,用于交换的CPU的算力,并且要求从A组服务器中选出的CPU,算力尽可能小。

二、输入输出

输入描述:
第一行输入为L1和L2,以空格分隔,L1表示A组服务器中的CPU数量,L2表示B组服务器中的CPU数量. 第二行输入为A组服务器中各个CPU的算力值,以空格分隔。
第三行输入为B组服务器中各个CPU的算力值,以空格分隔。
1 ≤ L1 ≤10000
1 ≤L2 ≤ 10000
1 ≤A[i] ≤100000
1 ≤ B[i]  ≤100000
输出描述: 对于每组测试数据,输出两个整数,以空格分隔,依次表示A组选出的CPU算力,B组选出的CPU算力。要求从A组选出的CPU的算力尽可能小。 备注:保证两组服务器的初始总算力不同,答案肯定存在

三、示例

示例1:
输入:
2 2
1 1
2 2 
输出
1 2
说明 从A组中选出算力为1的CPU,与B组中算力为2的进行交换,使两组服务器的算力都等于3.
示例2:
输入:
2 2
1 2
2 3
输出:
1 2
示例3:
输入:
1 2
2
1 3
输出:
2 3
示例4:
输入:
3 2
1 2 5
2 4
输出:
5 4

【华为机试】2024年真题C卷(java)-CPU算力分配_第1张图片

四、解题思路

先算出两个数组和差值的一半,这就是我们的目标值。用这个目标值逐个去排序好的A数组中减去对应的值,查看结果是否在B数组中存在,若存在,则交换两个值即可。

五、参考代码 

你可能感兴趣的:(华为,java,华为od,算法,华为机试,CPU算力分配)