1282. Group the People Given the Group Size They Belong To

#### QUESTION:

There are n people that are split into some unknown number of groups. Each person is labeled with a unique ID from 0 to n - 1.

You are given an integer array groupSizes, where groupSizes[i] is the size of the group that person i is in. For example, if groupSizes = 3, then person 1 must be in a group of size 3.

Return a list of groups such that each person i is in a group of size groupSizes[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: [,[0,1,2],[3,4,6]]
Explanation:
The first group is . The size is 1, and groupSizes = 1.
The second group is [0,1,2]. The size is 3, and groupSizes = groupSizes = groupSizes = 3.
The third group is [3,4,6]. The size is 3, and groupSizes = groupSizes = groupSizes = 3.
Other possible solutions are [[2,1,6],,[0,4,3]] and [,[0,6,2],[4,3,1]].
``````

Example 2:

``````Input: groupSizes = [2,1,3,3,3,2]
Output: [,[0,5],[2,3,4]]
``````

Constraints:

``````groupSizes.length == n
1 <= n <= 500
1 <= groupSizes[i] <= n
``````

#### EXPLANATION:

1. 首先创建一个数组, 这个数组用来存放该size的对应的人的编号.
2. 遍历整个groupsize, 将对应的index放入到前面创建的集合中, groupsize[index] 就是对应的位置.
3. 当当前位置的集合满足了index的话,那么就说明已经存满了. 就可以放入到result中.

#### SOLUTION:

``````class Solution {
fun groupThePeople(groupSizes: IntArray): List<List<Int>> {
var array : Array<ArrayList<Int>> = Array(groupSizes.size+1) {i -> ArrayList<Int>() }
var result : ArrayList<List<Int>> = ArrayList()
//

for (index in array.indices) {
var sum = 0
var arraylist:ArrayList<Int> = ArrayList()
for (i in 0 until array[index].size) {
if (sum < index) {
}
sum ++
if (sum == index) {