class Solution {
public:
bool isPossibleDivide(vector<int>& nums, int k) {
int N = nums.size();
if( N % k != 0) return false;
sort(nums.begin(),nums.end());
map<int,int> mp;
for(int i=0;i<nums.size();i++) mp[nums[i]] ++;
for(int i=0;i<nums.size();i++){
if(mp[nums[i]] != 0){
for(int j=0;j<k;j++){
if(mp[nums[i]+j] != 0){
mp[nums[i]+j] --;
}else
return false;
}
}
}
return true;
}
};
No.166 - LeetCode1296
手把手教你实现数组分组算法
最新推荐文章于 2025-11-30 14:38:30 发布
本文介绍了一种在给定数组中寻找是否可以将元素按特定大小分组的方法。通过排序和映射计数,算法检查每个可能的分组序列,确保连续的k个数存在且递增。此算法适用于解决类似LeetCode题目中的数组分组问题。
282

被折叠的 条评论
为什么被折叠?



