(每日一练70371)题目名称:最小差值

文盲老顾
WEB应用领新星创作者
博客专家认证
2023-05-21 11:58:30

通过对一个数组去掉最多n个数,使得该数组剩余的数中最大者和最小者之差值为最小。

排下序,然后用滑动方式过一遍即可

n = int(input())
arr = sorted(map(int,input().split()))
ans = arr[-1]
for i in range(n):
    ans = min(ans,arr[len(arr) + i - n - 1] - arr[i])
print(ans)
...全文
136 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
文盲老顾 2023-06-03
  • 打赏
  • 举报
回复
n = parseInt(readline())
arr = readline().split(' ').map(x => parseInt(x)).sort((x,y) => x > y ? 1 : -1)
ans = arr[arr.length - 1] - arr[0]
for (var i = 0; i < n;i++){
    ans = arr[arr.length + i - n - 1] - arr[i] < ans ? arr[arr.length + i - n - 1] - arr[i] : ans
}
print(ans)

321

社区成员

发帖
与我相关
我的任务
社区描述
主要用于技术交流,包括但不限于 .net,mssql,js,css,python,算法,运维。也可以晒最新技术,美图,运动等。最后,如果有问题,可以提问,老顾能帮忙的会尽量帮忙哦。
前端sqlserverasp.net 技术论坛(原bbs) 北京·西城区
社区管理员
  • 文盲老顾
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧