type
status
date
slug
summary
tags
category
icon
password
题目:
给你一个 下标从 0 开始 的整数数组
nums
,其中 nums[i]
表示第 i
名学生的分数。另给你一个整数 k
。从数组中选出任意
k
名学生的分数,使这 k
个分数间 最高分 和 最低分 的 差值 达到 最小化 。返回可能的 最小差值 。
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/SNJvJP 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
示例 1:
示例 2:
提示:
1 <= k <= nums.length <= 1000
0 <= nums[i] <= 105
思路:
- 对数组排序,比如示例2:[1,4,7,9]
- 这样的话,挨着两个减是最小的
- 比如示例2,k=2时,一共有 【1,4】,【4,7】,【7,9】,一共三次
- 示例2,k=3时,一共有 【1,4,7】,【4,7,9】一共两次
- 那么循环的次数就是:
nums.length-k+1
代码:
结果:

image-20220207182248399