Mając tablice znaków (cyfr), zwróć tablice po usunięciu elementów powtarzających się co najmniej trzy razy.
input: [1, 3, 3, 3, 2, 2, 2, 3, 1]
return: [1, 1] // To nie błąd, na początku usuwam dwójki, "łączę" to co zostało po ich usunięciu, następnie usuwam trójki.
input: [3,1,2,2,2,1,1,1,2,2,3,1,1,2,2,2,1,1,1,2,3]
return [3,1,3,2,3]
imput: [1, 3, 3, 3, 2, 2, 2, 1, 3]
return: [1, 1, 3]
Jaki algorytm miałby tu zastosowanie. Trudzę się nad O(n^3), nie mogę wymyślić nic O(n^2), co dopiero mówiąc o optymalnym rozwiązaniu.