华为OD机试D卷C卷 - 最大N个数与最小N个数的和 py

题目描述

给定一个数组,编写一个函数来计算它的最大N个数与最小N个数的和。你需要对数组进行去重。

说明:

  • 数组中数字范围[0, 1000]
  • 最大N个数与最小N个数不能有重叠,如有重叠,输入非法返回-1
  • 输入非法返回-1

输入描述

  • 第一行输入M, M标识数组大小
  • 第二行输入M个数,标识数组内容
  • 第三行输入N,N表达需要计算的最大、最小N个数

输出描述

输出最大N个数与最小N个数的和

用例

输入

5
95 88 83 64 100
2

输出 342
说明 最大2个数[100,95],最小2个数[83,64], 输出为342。
输入

5
3 2 3 4 2
2

输出 -1
说明 最大2个数[4,3],最小2个数[3,2], 有重叠输出为-1。
# Python
from typing import List
def getSumOfMaxAndMinN(size: int, nums: List[int], n: int) -> int:
    numSet = set(nums)  # 使用集合去重

 

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

机试E卷D卷刷题日记 文章被收录于专栏

机试刷题记录

全部评论
mk
点赞 回复 分享
发布于 2023-12-13 20:52 江苏
数字序列
点赞 回复 分享
发布于 2023-12-13 20:52 江苏

相关推荐

我见java多妩媚:大外包
点赞 评论 收藏
分享
无敌虾孝子:喜欢爸爸还是喜欢妈妈
点赞 评论 收藏
分享
评论
3
1
分享
牛客网
牛客企业服务