力扣每日一题【用户分组】

力扣每日一题【用户分组】_第1张图片

题目链接: 用户分组
视频连接:用户分组

C++代码

class Solution {
public:
    vector<vector<int>> groupThePeople(vector<int>& groupSizes) {
        vector<vector<int>> res;
        unordered_map<int, vector<int>> has;
        for(int i = 0; i < groupSizes.size(); i++){
            int val = groupSizes[i];
            has[val].push_back(i);
            if(has[val].size() == val){
               res.push_back(has[val]);
               has[val].clear();     
            }
        }

        return res;
    }
};

python代码

class Solution:
    def groupThePeople(self, groupSizes: List[int]) -> List[List[int]]:
        hash = {}
        res = []
        for i in range(len(groupSizes)):
            val = groupSizes[i]
            if val not in hash: hash[val] = []
            hash[val].append(i)
            if len(hash[val]) == val:
                res.append(hash[val])
                hash[val] = []

        return res

力扣每日一题【用户分组】_第2张图片

你可能感兴趣的:(力扣解题,leetcode,哈希算法,算法)