华为OD机试真题-CPU算力分配-2023年OD统一考试(C卷)--Python--开源
排序(sort)+求和(sum)+ 数学转化 + 循环(从小开始)+break。
·
题目:
**
**
考察内容:
排序(sort)+求和(sum)+ 数学转化 + 循环(从小开始)+break
代码:
"""
题目分析:
a和b初始总算力不同
从A组中选出的算力尽可能小
交换以后,a和b的算力相等
输入:
L1 A int(cpu数量) L2 B int (cpu数量)
A 算力值 list
B 算力值 list
输出:
A选出的算力 B选出来的算力
eg:
2 2
1 1
3 3
2 2
1 1
2 2
4 4
1 2 3 4
5 10 11 17
思路:
数学转化
sum_a - min_a + any_b = sum_b + min_a - any_b
"""
level1, level2 = map(int, (input().split()))
a = list(map(int, input().split()))
b = list(map(int, input().split()))
# 排序
a.sort(reverse=False)
b.sort(reverse=False)
# 求算力
a_sum = sum(a)
b_sum = sum(b)
difference = a_sum - b_sum
# a尽可能小,从小开始遍历
for i in range(len(a)):
temp = int(abs(a_sum - a[i] - b_sum - a[i]) / 2)
if temp in b:
print(a[i], temp)
break
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献5条内容
所有评论(0)