楼主: 
yam276 ('_')   
2024-07-03 11:45:29※ 引述《oin1104 (是oin的说)》之铭言:
: 题目:
: 给你一串阵列
: 你可以对任意三个元素改成任意值
: 改完之后最大跟最小相差的最小值是多少
思路:
先sort
然后比较
最大   - 第四小
第二大 - 第三小
第三大 - 第二小
第四大 - 第一小
找最小 = 改其他三组让他们失效
Code:
impl Solution {
    pub fn min_difference(mut nums: Vec<i32>) -> i32 {
        nums.sort_unstable();
        let nums_len = nums.len();
        if nums_len <= 4 {
            return 0;
        }
        let mut result = i32::MAX;
        for i in 0..=3 {
            result = result.min(nums[nums_len - 4 + i] - nums[i]);
        }
        result
    }
}