Поиск, сортировка, рекурсия и битовые операции с исполняемым кодом.
Найдите цель в неотсортированных данных.
Ищите в отсортированных данных за логарифмическое время.
Сортируйте обменом соседних инверсий.
Используйте divide-and-conquer с гарантией O(n log n).
Разделяйте значения вокруг pivot.
Устанавливайте, очищайте, переключайте и проверяйте flags.
Решайте задачу через меньший экземпляр.