Вероятно проще было бы отсортировать и проверить лишь последовательные элементы. Впрочем я не настаиваю, просто тест уж больно хитрый