Эй, ребята, если у меня есть массив, который выглядит как [A, B, C, A, B, C, A, C, B] (случайный порядок), и я хочу расположить его в [A, A, A, B, B, B, C, C, C] (каждая группа находится вместе), и допускаются только следующие операции:
1) запросить i-й элемент массива
2) поменять местами два элемента в массиве.
Как разработать алгоритм, который выполняет работу в O (n)?
Спасибо!