16 lines
301 B
JavaScript
16 lines
301 B
JavaScript
// https://www.codewars.com/kata/cycle-detection-floyds-the-tortoise-and-the-the-hare/javascript
|
|
|
|
const floyd = function(f, x0) {
|
|
let x = x0;
|
|
let i = 0;
|
|
const map = new WeakMap();
|
|
|
|
while (1) {
|
|
map[x] = i++;
|
|
x = f(x);
|
|
if (x in map) break;
|
|
}
|
|
|
|
return [map[x], i - map[x]];
|
|
}
|