有 n 位使用者參加活動,他們的 id 從 0 到 n - 1,每位使用者都 恰好 屬於某一使用者組。給你乙個長度為 n 的陣列 groupsizes,其中包含每位使用者所處的使用者組的大小,請你返回使用者分組情況(存在的使用者組以及每個組中使用者的 id)。
你可以任何順序返回解決方案,id 的順序也不受限制。此外,題目給出的資料保證至少存在一種解決方案。
示例 1:
輸入:groupsizes =[3
,3,3
,3,3
,1,3
]輸出:[[5
],[0
,1,2
],[3
,4,6
]]解釋:
其他可能的解決方案有 [[2
,1,6
],[5
],[0
,4,3
]] 和 [[5
],[0
,6,2
],[4
,3,1
]]。
示例 2:
輸入:groupsizes =[2
,1,3
,3,3
,2]輸出:[[1
],[0
,5],
[2,3
,4]]
groupsizes.length == n
1 <= n <= 500
1 <= groupsizes[i] <= n
源問題;
很簡單的思路,使用字典group_dict來記錄屬於組個數的各個成員id,然後根據這個組員個數和相應的成員id來劃分組。
class
solution
:def
groupthepeople
(self, groupsizes: list[
int])-
> list[list[
int]]:
res =
group_dict =
for i,item in
enumerate
(groupsizes)
:if item not
in group_dict.keys():
group_dict[item]=[
] group_dict[item]
for key,value in group_dict.items():
print
(value)
i =0while i+key <=
len(value):)
i = i+key
return res
leetcode 1282 使用者分組
題目描述 有 n 位使用者參加活動,他們的 id 從 0 到 n 1,每位使用者都 恰好 屬於某一使用者組。給你乙個長度為 n 的陣列 groupsizes,其中包含每位使用者所處的使用者組的大小,請你返回使用者分組情況 存在的使用者組以及每個組中使用者的 id 可以任何順序返回解決方案,id 的順...
LeetCode題目 1282 使用者分組
建立map集合,用於存放分組的list集合 迴圈開始,當分組的索引在map集合中如果沒有,就建立乙個放進去 如果在map集合有,則將當前的值放入map對應的索引的list集合中 class solution 建立list集合來存相同索引的值 list list map.get groupsizes ...
LC1282 使用者分組
有 n 位使用者參加活動,他們的 id 從 0 到 n 1,每位使用者都 恰好 屬於某一使用者組。給你乙個長度為 n 的陣列 groupsizes,其中包含每位使用者所處的使用者組的大小,請你返回使用者分組情況 存在的使用者組以及每個組中使用者的 id 你可以任何順序返回解決方案,id 的順序也不受...