博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode题解(1509):三次操作后最大值与最小值的最小差(Python)
阅读量:1901 次
发布时间:2019-04-26

本文共 816 字,大约阅读时间需要 2 分钟。

题目:(中等)

标签:数组、排序

解法 时间复杂度 空间复杂度 执行用时
Ans 1 (Python) O ( N ) O(N) O(N) O ( 1 ) O(1) O(1) 80ms (99%)
Ans 2 (Python)
Ans 3 (Python)

解法一:

class Solution:    def minDifference(self, nums: List[int]) -> int:        # 处理长度小于4的情况        if len(nums) <= 4:            return 0        # 4个最小值和4个最大值        min_val = list(sorted(nums[:4]))  # 从小到大        max_val = min_val[::-1]  # 从大到小        # 遍历数组寻找4个最小值和4个最大值        for i in range(4, len(nums)):            num = nums[i]            if num < min_val[-1]:                min_val.pop()                min_val.append(num)                min_val.sort()            if num > max_val[-1]:                max_val.pop()                max_val.append(num)                max_val.sort(reverse=True)        # 处理4种可能的删除方法        return min(max_val[i] - min_val[3 - i] for i in range(4))

转载地址:http://mwzcf.baihongyu.com/

你可能感兴趣的文章
melis cedar模块的链接脚本
查看>>
RTThread IO设备和驱动学习
查看>>
编译报错: error: expected ‘=‘, ‘,‘, ‘;‘, ‘asm‘ or ‘__attribute__‘ before *‘ token
查看>>
mmap函数实现
查看>>
音频基础知识详解
查看>>
Linux 命令xxd功能
查看>>
repo使用指南
查看>>
gstreamer-test
查看>>
GDB基本用法
查看>>
动态范围控制(DRC)简介
查看>>
使用C语言查看一个文件夹中所有文件及目录
查看>>
音频硬件基础
查看>>
TS流分析
查看>>
详解YUV420数据格式
查看>>
Gstreamer学习笔记(2):GstElement定义、连接
查看>>
GStreamer建议的学习步骤和网页链接汇总
查看>>
Ubuntu14.04编译安装GStreamer
查看>>
GStreamer(一)
查看>>
GStreamer(二)
查看>>
Gstreamer学习笔记(1):GStreamer Debugging
查看>>