作者yam276 (虛構史學家)
看板Marginalman
標題Re: [閒聊] 每日leetcode
時間Wed Jul 3 11:45:29 2024
※ 引述《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
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.32.48.97 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1719978331.A.BA1.html
推 JIWP: 別卷了 07/03 11:46
推 oin1104: 大師 07/03 11:46
推 rainkaras: 大師 07/03 11:47
推 sustainer123: 大師 07/03 11:51
推 DJYOMIYAHINA: 大濕 07/03 12:19