序列重排其实是数学题,就考虑如果序列无限长,那就是低高低高这样无限排序,那么最大值就是每一个高减去每一个低两次,但是有限,就需要考虑有限是奇数还是偶数的情况,先排序分为高低数组,然后高的减低的乘2,然后看奇数偶数来把多加的高多减的低来删掉。 python题解 numbers = [5 ,1, 2,2,2] mid = len(numbers)//2 numbers = sorted(numbers) low = numbers[:mid] high = numbers[mid:] temp = 2*(sum(high)-sum(low)) if len(numbers)%2 == 0: ans = temp - high[0]+low[-1] else: ans = temp - high[1]-high[0] print(ans)
1 3

相关推荐

穿件外套出门:这简历一眼太水了,前面有的没的直接删,写项目亮点
点赞 评论 收藏
分享
01-18 09:26
已编辑
门头沟学院 Java
王桑的大offer:建议中间件那块写熟悉即可,写掌握 面试包被拷打到昏厥
点赞 评论 收藏
分享
牛客网
牛客企业服务