菜鸟的每日力扣系列——1984. 学生分数的最小差值(#Day34)
2023-02-18 16:23:56 时间
力扣1984. 学生分数的最小差值
求区间k间的最小差值,可以使用k长度的滑动窗口来维护最小值,最小差值即为滑动窗口两端的差值,更新最小值即可。
from typing import List
def minimumDifference(nums: List[int], k: int) -> int:
if k == 1:
return 0
min_res = float('inf')
nums.sort() # 从小到大原地排序
n = len(nums)
# i来确定滑动窗口的左边界下标,右边界下标为i+k-1
for i in range(n-k+1):
# 最小差值即为滑动窗口两端的差值,更新最小值
min_res = min(min_res, nums[i+k-1] - nums[i])
return min_res
nums = [9,4,1,7]
k = 2
print(minimumDifference(nums, k)) # 2
END
相关文章
- 有了它,线上诊断再也不怕了
- Win32汇编:字符串操作指令
- Win32汇编:算数运算指令总结
- 第十四届蓝桥杯集训——for——判断质数/素数
- 动态追踪之java agent
- 动态追踪技术之BTrace
- 如何取一个数字到N位小数点
- JVM运行时数据区知多少
- Hutool工具类之excel导入导出
- 图机器学习 | PyG 安装配置记录
- 通过工具和字节码带你深入理解运行时数据区
- 看一看JVM垃圾回收算法
- 聊一聊Serializable和Externalizable
- Win32汇编:数组与标志位测试总结
- 如何判断对象是否为垃圾
- Hotspot垃圾收集器大全
- :: 双冒号是什么?
- Win32汇编:各种语句的构造方式
- 如何在mybatis xml文件中定义局部变量?
- 00. Kotlin 安装和语言的基本组成