Cycle Detection: Floyd's The Tortoise and the The Hare

This commit is contained in:
2019-11-23 23:43:02 +01:00
parent 42949295cb
commit 06f01d2ef9

View File

@@ -0,0 +1,15 @@
// 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]];
}