Class Solution
-
- All Implemented Interfaces:
public final class Solution1282 - Group the People Given the Group Size They Belong To\.
Medium
There are
npeople that are split into some unknown number of groups. Each person is labeled with a unique ID from0ton - 1.You are given an integer array
groupSizes, wheregroupSizes[i]is the size of the group that personiis in. For example, ifgroupSizes[1] = 3, then person1must be in a group of size3.Return a list of groups such that each person
iis in a group of sizegroupSizes[i].Each person should appear in exactly one group , and every person must be in a group. If there are multiple answers, return any of them. It is guaranteed that there will be at least one valid solution for the given input.
Example 1:
Input: groupSizes = 3,3,3,3,3,1,3
Output: [5,0,1,2,3,4,6]
Explanation:
The first group is 5. The size is 1, and groupSizes5 = 1.
The second group is 0,1,2. The size is 3, and groupSizes0 = groupSizes1 = groupSizes2 = 3.
The third group is 3,4,6. The size is 3, and groupSizes3 = groupSizes4 = groupSizes6 = 3.
Other possible solutions are [2,1,6,5,0,4,3] and [5,0,6,2,4,3,1].
Example 2:
Input: groupSizes = 2,1,3,3,3,2
Output: [1,0,5,2,3,4]
Constraints:
groupSizes.length == n1 <= n <= 5001 <= groupSizes[i] <= n