糖逗 发表于 2020-4-18 21:53:57

C++刷leetcode(1282. 用户分组)【数据结构】

本帖最后由 糖逗 于 2020-5-8 17:55 编辑

题目描述:
有 n 位用户参加活动,他们的 ID 从 0 到 n - 1,每位用户都 恰好 属于某一用户组。给你一个长度为 n 的数组 groupSizes,其中包含每位用户所处的用户组的大小,请你返回用户分组情况(存在的用户组以及每个组中用户的 ID)。

你可以任何顺序返回解决方案,ID 的顺序也不受限制。此外,题目给出的数据保证至少存在一种解决方案。

 

示例 1:

输入:groupSizes =
输出:[,,]
解释:
其他可能的解决方案有 [,,] 和 [,,]。
示例 2:

输入:groupSizes =
输出:[,,]
 

提示:

groupSizes.length == n
1 <= n <= 500
1 <= groupSizes <= n

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/group-the-people-given-the-group-size-they-belong-to
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。


#include <iostream>
#include <map>
#include <vector>


using namespace std;

vector<vector<int>> groupThePeople(vector<int>& input) {
    vector<vector<int> > res;
    map<int, vector<int> > temp;
    int len = input.size();
    for(int i = 0; i < len; i++){
      temp].push_back(i);
      if(temp].size() == input){
            res.push_back(temp]);
            temp] = {};
      }
      
    }
    return res;

}

int main(void){
        vector<int> input;
        int number;
        while(cin >> number){
                input.push_back(number);
        }
        vector<vector<int> > res = groupThePeople(input);
        for(int i = 0; i < res.size() ;i ++){
                for(int j = 0; j < res.size(); j++){
                        cout << res << " ";
                }
                cout << endl;
               
        }
        return 0;
}

注意事项:
1.没有用到什么算法,只是单纯的数据结构知识。
页: [1]
查看完整版本: C++刷leetcode(1282. 用户分组)【数据结构】