题目描述:
提交:
class Solution: def minDifference(self, nums: List[int]) -> int: if len(nums) <= 4: return 0 minm = min(nums) maxm = max(nums) l1 = heapq.nlargest(4, nums) l2 = heapq.nsmallest(4,nums) ans = float(‘inf‘) for i in range(4): ans = min(ans,l1[i] - l2[3-i]) return ans
优化:
class Solution(object): def minDifference(self, A): A.sort() N = len(A) if N <= 3: return 0 take = N - 3 return min(A[i+take - 1] - A[i] for i in range(N - take + 1))
leetcode-1509-三次操作后最大值与最小值的最小差
原文:https://www.cnblogs.com/oldby/p/13296383.html