1296. Divide Array in Sets of K Consecutive Numbers
188ms 88.37%
class Solution {
public:
bool isPossibleDivide(vector<int>& nums, int k) {
int n=nums.size();
if(n%k)return false;
map<int,int> m;
for(auto p:nums) m[p]++;
for (auto iter = m.begin(); iter != m.end(); iter++){
if (iter->second > 0){
auto tmp = next(iter);
for (int i = 1; i < k&&tmp != m.end(); i++, tmp++){
if (tmp->first == iter->first + i&&tmp->second >= iter->second)
tmp->second -= iter->second;
else
return false;
}
}
}
return true;
}
};