Re: [閒聊] 每日LeetCode

作者: DJYOSHITAKA (Evans)   2024-02-07 23:00:27
不知道哪一天的
2966. Divide Array Into Arrays With Max Difference
直覺就先排序
而且又確定n被三整除
就conv_size=3, stride=3掃過去
若window裡面最大減最小>k,直接return {};
因為不管你怎麼換window裡面的member,diff就只會越來越大
若整個掃過都符合diff<=k,則回傳答案
vector<vector<int>> divideArray(vector<int>& nums, int k) {
sort(nums.begin(),nums.end());
int n = nums.size();
vector<vector<int>> ans;
for(int i=0; i<n; i+=3)
{
if((nums[i+2]-nums[i]) > k)
{
return {};
}
else
{
ans.push_back({nums[i],nums[i+1],nums[i+2]});
}
}
return ans;
}
上次刷題好像兩個禮拜前了
換工作好像離我越來越遠
太苦了
作者: ILoveErr (英梨梨我老婆)   2024-02-07 23:03:00
大師

Links booklink

Contact Us: admin [ a t ] ucptt.com