1984. 学生分数的最小差值

给你一个 下标从 0 开始 的整数数组 nums ,其中 nums[i] 表示第 i 名学生的分数。另给你一个整数 k 。

从数组中选出任意 k 名学生的分数,使这 k 个分数间 最高分 和 最低分 的 差值 达到 最小化 。

返回可能的 最小差值 。

示例 1:输入:nums = [90], k = 1
输出:0
解释:选出 1 名学生的分数,仅有 1 种方法:
- [90] 最高分和最低分之间的差值是 90 - 90 = 0
可能的最小差值是 0示例 2:输入:nums = [9,4,1,7], k = 2
输出:2
解释:选出 2 名学生的分数,有 6 种方法:
- [9,4,1,7] 最高分和最低分之间的差值是 9 - 4 = 5
- [9,4,1,7] 最高分和最低分之间的差值是 9 - 1 = 8
- [9,4,1,7] 最高分和最低分之间的差值是 9 - 7 = 2
- [9,4,1,7] 最高分和最低分之间的差值是 4 - 1 = 3
- [9,4,1,7] 最高分和最低分之间的差值是 7 - 4 = 3
- [9,4,1,7] 最高分和最低分之间的差值是 7 - 1 = 6
可能的最小差值是 2

提示:

  • 1 <= k <= nums.length <= 1000
  • 0 <= nums[i] <= 105

解题思路

我们先对数组按从小到大的顺序进行排序,枚举长度为k的所有区间,因为我们的数组是有序的,因此我们每一个区间也是有序的,根据这个特性,我们可以得出区间的首尾元素就是区间内的最大值和最小值,因此 最高分 和 最低分 的 差值 只需要将区间末尾元素,减去区间头元素即可,并且在所有可能的区间内选出最小差值的区间。

代码

class Solution {public:int minimumDifference(vector<int>& nums, int k) {sort(nums.begin(),nums.end());int res(INT_MAX);for (int i = 0; i+k <= nums.size(); ++i) {res=min(nums[i+k-1]-nums[i],res);}return res;}
};

1984. 学生分数的最小差值相关推荐

  1. 「 每日一练,快乐水题 」1984. 学生分数的最小差值

    ✅力扣原题: 力扣链接:1984. 学生分数的最小差值 ✅题目简述: 给你一个 下标从 0 开始 的整数数组 nums ,其中 nums[i] 表示第 i 名学生的分数.另给你一个整数 k . 从数组 ...

  2. LeetCode 1984. 学生分数的最小差值

    文章目录 1. 题目 2. 解题 1. 题目 给你一个 下标从 0 开始 的整数数组 nums ,其中 nums[i] 表示第 i 名学生的分数.另给你一个整数 k . 从数组中选出任意 k 名学生的 ...

  3. 2022-4-10 Leetcode 1984.学生分数的最小差值

    class Solution {public:int minimumDifference(vector<int>& nums, int k) {sort(nums.begin(), ...

  4. LeetCode简单题之学生分数的最小差值

    题目 给你一个 下标从 0 开始 的整数数组 nums ,其中 nums[i] 表示第 i 名学生的分数.另给你一个整数 k . 从数组中选出任意 k 名学生的分数,使这 k 个分数间 最高分 和 最 ...

  5. leetcode算法题--学生分数的最小差值

    原题链接:https://leetcode-cn.com/problems/minimum-difference-between-highest-and-lowest-of-k-scores/ cla ...

  6. ​力扣解法汇总1984-学生分数的最小差值

    目录链接: 力扣编程题-解法汇总_分享+记录-CSDN博客 GitHub同步刷题项目: GitHub - September26/java-algorithms: 算法题汇总,包含牛客,leetCod ...

  7. mysql监控 hp_0066 使用PHP和MySQL实现学生分数信息管理

    原标题:0066 使用PHP和MySQL实现学生分数信息管理 上节课介绍了MySQL数据库中如何使用SQL语言查询和变更数据. 这节课来介绍如何通过PHP调用SQL语句实现数据管理功能网页. 通过PH ...

  8. C++ 使用静态变量和静态方法统计学生分数和学生个数

    #include <iostream> #include <cstdlib>using namespace std;int strlen(const char s[]){int ...

  9. 计算学生分数的最大值,最小值和总分

    package shi;import java.util.Scanner; public class shi{public static void main(String[] args) {// TO ...

最新文章

  1. python perl 日本的应用_将perl-soap应用程序移植到python
  2. Linux Shell常用技巧(十二)
  3. 平方环法_2019环法挑战赛加速诸暨“运动之城”建设 推动“体育+旅游”新热潮...
  4. angular 示例项目
  5. apollo java客户端_携程配置中心Apollo的Java客户端API的使用
  6. 不显示样式 引用bootstrap_Bootstrap的引用样式
  7. memcache/redis 缓存学习笔记
  8. 工作要求,写了一些没用的设计文档
  9. window10c语言软件下载,win10中文语言包下载
  10. 第六届“强网杯”全国网络安全挑战赛-青少年专项赛
  11. UltraISO刻录系统光盘或刻录U启系统
  12. 苹果笔记本怎么查看计算机基本信息,怎么区分查找苹果电脑笔记本macBook pro的年份、型号及序列号...
  13. 2019/4/2更新 重制3617-6.17 增加918+6.21 二合一引导启动系统盘
  14. 选中DataGridView行,将数据返填到TextBox控件
  15. 一道面试题:写出SQL语句实现下述功能
  16. matlab expma,现代科学运算—MATLAB语言与应用-中国大学mooc-题库零氪
  17. 论中国足球教练排名,“神奇教练”米卢说第二,没人敢称第一
  18. Java入门——while循环:求珠穆朗玛峰高度
  19. 『TypeScript』泛型
  20. 真正的头号玩家——游戏AI

热门文章

  1. 生产者-消费者模型的两种实现方式
  2. Python3迭代器和生成器
  3. mysql删除一条记录
  4. Mingw编译DLib
  5. delphi7 提示注册过期问题
  6. laravel5 centos6.4下的配置体验
  7. mysql全文索引中文问题的解决(转)
  8. 对于我今后人生受益匪浅的几句话
  9. RUNOOB python练习题 39 数组排序
  10. [bzoj3036]绿豆蛙的归宿