leetcode-166周赛-5280-用户分组
题目描述:
自己的提交:
class Solution: def groupThePeople(self, groupSizes: List[int]) -> List[List[int]]: ans = [] dic = {} for v,i in enumerate(groupSizes): if i in dic: dic[i].append(v) if len(dic[i]) == i: ans.append(dic[i]) dic.pop(i) else: dic[i] = [v] if i == 1: ans.append(dic[i]) dic.pop(i) return ans
优化;
class Solution: def groupThePeople(self, g: List[int]) -> List[List[int]]: res = [] d = collections.defaultdict(list) for i, x in enumerate(g): d[x].append(i) if len(d[x]) == x: res.append(d[x]) d[x] = [] return res