------
## 最终结论
```python
def minDifference(nums):
    # Step 1: Sort the array
    nums.sort()
    
    # Step 2: Consider edge cases
    if len(nums) <= 4:
        return 0
    
    # Step 3: Calculate minimum difference
    # We can remove up to 3 elements from either end of the sorted array
    return min(nums[-1] - nums[3],   # Remove the first three elements
               nums[-2] - nums[2],   # Remove two from the start and one from the end
               nums[-3] - nums[1],   # Remove one from the start and two from the end
               nums[-4] - nums[0])   # Remove the last three elements

# Example usage
print(minDifference([5, 3, 2, 4]))  # Output: 0
print(minDifference([1, 5, 0, 10, 14]))  # Output: 1
print(minDifference([6, 6, 0, 1, 1, 4, 6]))  # Output: 2
print(minDifference([1, 5, 6, 14, 15]))  # Output: 1
```