※ 引述《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
}
}