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