1509. Minimum Difference Between Largest and Smallest Value in Three Moves (Medium) - TengnanYao/daily_leetcode GitHub Wiki

class Solution:
    def minDifference(self, nums: List[int]) -> int:
        if len(nums) < 5:
            return 0
        mins, maxs = [], []
        for num in nums:
            mins = sorted(mins + [num])[ : 4]
            maxs = sorted(maxs + [num])[-4 : ]
        return min(maxs[i] - mins[i] for i in range(4))