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/

相关推荐
CoderCodingNo1 小时前
【NOIP】2011真题解析 luogu-P1003 铺地毯 | GESP三、四级以上可练习
算法
晓晓hh1 小时前
JavaSE学习——迭代器
java·开发语言·学习
iFlyCai2 小时前
C语言中的指针
c语言·数据结构·算法
Laurence2 小时前
C++ 引入第三方库(一):直接引入源文件
开发语言·c++·第三方库·添加·添加库·添加包·源文件
查古穆2 小时前
栈-有效的括号
java·数据结构·算法
再一次等风来2 小时前
近场声全息(NAH)仿真实现:从阵列实值信号到波数域重建
算法·matlab·信号处理·近场声全息·nah
汀、人工智能2 小时前
16 - 高级特性
数据结构·算法·数据库架构·图论·16 - 高级特性
大熊背2 小时前
利用ISP离线模式进行分块LSC校正的方法
人工智能·算法·机器学习
kyriewen112 小时前
你点的“刷新”是假刷新?前端路由的瞒天过海术
开发语言·前端·javascript·ecmascript·html5
014-code2 小时前
String.intern() 到底干了什么
java·开发语言·面试