作者oin1104 (是oin的說)
看板Marginalman
標題Re: [閒聊] 每日leetcode
時間Wed Jul 3 11:29:22 2024
題目:
給你一串陣列
你可以對任意三個元素改成任意值
改完之後最大跟最小相差的最小值是多少
思路:
先sort
發現改中間的值沒屁用
然後就可以只改最大最小的
要改成什麼值根本不重要
然後要改大的小的哪邊的呢
其實 把所有情況列出來 發現只有四種
所以直接試試看就可以了
```cpp
class Solution {
public:
int minDifference(vector<int>& nums)
{
int len = nums.size();
if(len <= 4)return 0 ;
sort(nums.begin(),nums.end());
int l = 0;
int r = len-1;
int res = INT_MAX;
for(int i = 0 ; i < 4 ; i ++)
{
res = min(res,nums[r-i] - nums[l+3-i]);
}
return res;
}
};
```
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.12.25.207 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1719977364.A.E4E.html
推 wu10200512: 你週賽幾分了 07/03 11:30
→ oin1104: 174?吧 10%上下 上次周賽2100名左右 大概加個40分 07/03 11:33
→ JIWP: 大師 07/03 11:41
推 rainkaras: 大師 07/03 11:46
→ sustainer123: 大師 07/03 11:51