Deteksi siklus Floyd menemukan loop dalam urutan (seperti daftar tertaut) menggunakan dua pointer yang bergerak dengan kecepatan berbeda. Jika siklus ada, pointer cepat akhirnya melampaui dan bertemu yang lambat. Ini menggunakan O(1) ruang tambahan.
Idenya
Pindahkan pointer slow satu langkah dan pointer fast dua langkah. Dalam siklus, celah menyusut satu per langkah, jadi mereka harus bertabrakan; tanpa siklus, cepat mencapai akhir.
