class Solution {
public:
vector<vector<int>> groupThePeople(vector<int>& groupSizes) {
map<int,vector<int>> mp;
int N = groupSizes.size();
for(int i=0;i<N;i++){
int S = groupSizes[i];
mp[S].push_back(i);
}
vector<vector<int>> ans;
for(map<int,vector<int>>::iterator p = mp.begin();p!=mp.end();p++){
int loc = 0;
while(loc<p->second.size()){
vector<int> t;
for(int i=0;i<p->first;i++){
t.push_back(p->second[loc+i]);
}
loc += p->first;
ans.push_back(t);
}
}
return ans;
}
};
No.143 - LeetCode1282
最新推荐文章于 2022-08-16 19:57:54 发布
本文介绍了一种使用C++实现的高效分组算法,该算法根据输入的groupSizes数组将元素分组到相应的大小中。通过使用STL map和vector,算法能够有效地组织和分发元素,确保每个组的大小符合指定的要求。
192

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



