文章目录
- 题目描述
- 题解思路
- 题解代码
- 题目链接
题目描述
题解思路
原数组 nums 排序,遍历nums中下标为[0, nums.len() - k]的学生分数
假设当前遍历的下标为i则,以 i 下标为最小值的学生分数的最小差值为nums[i + k - 1] - nums[i]
取最小差值的最小值即为本题结果
题解代码
impl Solution {
pub fn minimum_difference(mut nums: Vec<i32>, k: i32) -> i32 {
nums.sort();
let mut ans = i32::MAX;
for i in 0..=nums.len() - k as usize {
ans = ans.min(nums[i + k as usize - 1] - nums[i]);
}
if ans == i32::MAX { 0 } else { ans }
}
}
题目链接
https://leetcode.cn/problems/minimum-difference-between-highest-and-lowest-of-k-scores/