Detecção de ciclo de Floyd encontra um loop em uma sequência (como uma lista encadeada) usando dois ponteiros movendo em velocidades diferentes. Se um ciclo existe, o ponteiro rápido eventualmente alcança e se encontra com o lento. Usa O(1) de espaço extra.
A ideia
Mova um ponteiro lento um passo e um ponteiro rápido dois passos. Em um ciclo, o intervalo diminui em um a cada passo, então eles devem colidir; sem um ciclo, o rápido atinge o fim.
