leetcode1282 用户分组
class Solution { public: vector<vector<int>> groupThePeople(vector<int>& groupSizes) { map<int, vector<int> > m;//每个size组包含的元素 set<int> s;//记录用户组的size,比如示例1中有1,3 则记为1,3 vector<vector<int>> ans; for(unsigned int i=0;i<groupSizes.size();i++){ m[groupSizes[i]].push_back(i); s.insert(groupSizes[i]); } for(auto it=s.begin();it!=s.end();it++){ int gsize=*it; int gnum=m[gsize].size()/gsize; int p=m[gsize].size()-1; for(int j=0;j<gnum;j++){ vector<int> level; for(int k=0;k<gsize;k++){ level.push_back(m[gsize][p--]); } ans.push_back(level); } } return ans; } };