题解 | #牛牛的数组匹配#

牛牛的数组匹配

https://www.nowcoder.com/practice/3d3406f4a7eb4346b025cc592be5b875

n, m = list(map(int, input().split(" ")))
a = list(map(int, input().split(" ")))
b = list(map(int, input().split(" ")))
sum_a = sum(a)
minest = abs(b[0]-sum_a)
minlist = b[0]
for i in range(m):
    for j in range(i+1, m+1):
        if (abs(sum(b[i:j])-sum_a)) < minest:
            minest = abs(sum(b[i:j])-sum_a)
            minlist = b[i:j]
print(str(minlist).replace(",","").strip("[").strip("]"))
  • 就从数组的第一个数开始取,然后对于子集的选取大家应该中学的时候都知道,依次往后遍历每一个元素即可
  • 一开始的最小距离和离得最近的数组可以随便初始化一个值即可,这些步骤实际上可以封装成一个函数
  • 最后这个数组的输出好像写复杂了,可能对python的很多函数还是不太熟悉哈哈哈
全部评论

相关推荐

在笔试的大西瓜很矫健:校招数分不用想了,这经历和学历都不够用,大厂更别想,初筛都过不了,说点不好听的小厂数分都进不去(小厂也是假数分),要两个对口实习+3个项目(或者3+2),而且要有含金量才能补一点你的学历劣势。 建议刷实习,社招找数分,校招看运气,能入行业就行,可以运营转数分
点赞 评论 收藏
分享
01-12 17:45
门头沟学院 Java
985废物一枚:就是问问你能不能接受北京的房租,hr也知道公司工资不高,大概率是要贴钱的
找实习记录
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务