Cycle Detection: Floyd's The Tortoise and the The Hare
This commit is contained in:
@@ -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]];
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user