Mô tả thử thách
Đưa ra một danh sách / mảng các mục, hiển thị tất cả các nhóm các mục lặp lại liên tiếp.
Mô tả đầu vào / đầu ra
Đầu vào của bạn là một danh sách / mảng các mặt hàng (bạn có thể giả sử tất cả chúng đều cùng loại). Bạn không cần phải hỗ trợ mọi loại ngôn ngữ của bạn, nhưng phải hỗ trợ ít nhất một loại (tốt nhất là int
, nhưng các loại như boolean
, mặc dù không thú vị lắm, cũng tốt). Đầu ra mẫu:
[4, 4, 2, 2, 9, 9] -> [[4, 4], [2, 2], [9, 9]]
[1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 4, 4] -> [[1, 1, 1], [2, 2], [3, 3, 3], [4, 4, 4, 4]]
[1, 1, 1, 3, 3, 1, 1, 2, 2, 2, 1, 1, 3] -> [[1, 1, 1], [3, 3], [1, 1], [2, 2, 2], [1, 1], [3]]
[9, 7, 8, 6, 5] -> [[9], [7], [8], [6], [5]]
[5, 5, 5] -> [[5, 5, 5]]
['A', 'B', 'B', 'B', 'C', 'D', 'X', 'Y', 'Y', 'Z'] -> [['A'], ['B', 'B', 'B'], ['C'], ['D'], ['X'], ['Y', 'Y'], ['Z']]
[True, True, True, False, False, True, False, False, True, True, True] -> [[True, True, True], [False, False], [True], [False, False], [True, True, True]]
[0] -> [[0]]
Đối với danh sách trống, đầu ra không được xác định - nó có thể không là gì, danh sách trống hoặc ngoại lệ - bất cứ điều gì phù hợp với mục đích chơi golf của bạn là tốt nhất. Bạn cũng không phải tạo một danh sách danh sách riêng biệt, vì vậy đây cũng là một đầu ra hoàn toàn hợp lệ:
[1, 1, 1, 2, 2, 3, 3, 3, 4, 9] ->
1 1 1
2 2
3 3 3
4
9
Điều quan trọng là giữ cho các nhóm tách biệt theo một cách nào đó.
int
Chẳng hạn, một mảng được phân tách bằng 0
s sẽ là một ý tưởng tồi vì có thể có 0
s trong đầu vào ...
[4, 4, '', 2, 2, '', 9, 9]
hoặc [4, 4, [], 2, 2, [], 9, 9]
.