Детектирование цикла Флойда находит петлю в последовательности (например, в связном списке) с помощью двух указателей, движущихся с разными скоростями. Если цикл существует, быстрый указатель в конце концов нагоняет и встречается с медленным. Алгоритм использует O(1) дополнительной памяти.
Идея
Перемещайте медленный указатель на один шаг и быстрый указатель на два шага. В цикле разрыв между ними сокращается на один с каждым шагом, поэтому они обязательно встретятся; без цикла быстрый указатель достигает конца.
