Rust 力扣 - 1984. 学生分数的最小差值

文章目录

题目描述

题解思路

原数组 nums 排序,遍历nums中下标为[0, nums.len() - k]的学生分数

假设当前遍历的下标为i则,以 i 下标为最小值的学生分数的最小差值为nums[i + k - 1] - nums[i]

取最小差值的最小值即为本题结果

题解代码

rust 复制代码
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/

相关推荐
不绝1917 分钟前
C#核心——面向对象:封装
开发语言·javascript·c#
想逃离铁厂的老铁19 分钟前
Day43 >> 300.最长递增子序列 + 674. 最长连续递增序列+ 718. 最长重复子数组
数据结构·算法
Yzzz-F20 分钟前
P6648 [CCC 2019] Triangle: The Data Structure [st表]
算法
yaoxin52112321 分钟前
294. Java Stream API - 对流进行归约
java·开发语言
ghie909022 分钟前
基于MATLAB的演化博弈仿真实现
开发语言·matlab
曹轲恒22 分钟前
Thread.sleep() 方法详解
java·开发语言
aini_lovee24 分钟前
基于Qt实现CAN通信上位机
开发语言·qt
小小仙。28 分钟前
IT自学第十九天
java·开发语言
LateFrames33 分钟前
泰勒级数:从 “单点” 到 “理论与实践的鸿沟”
学习·算法
一然明月1 小时前
C#语言基础详解和面向对象编程核心概念与高级特性详解(万字详解带示例代码)
开发语言·c#