(nums, start = 0)
| 251 | }; |
| 252 | |
| 253 | const moveFast = (nums, start = 0) => { |
| 254 | let [slow, fast] = [nums[start], nums[nums[start]]]; |
| 255 | |
| 256 | const isSame = () => slow === fast; |
| 257 | while (!isSame()) { |
| 258 | /* Time O(N) */ |
| 259 | slow = nums[slow]; |
| 260 | fast = nums[nums[fast]]; |
| 261 | } |
| 262 | |
| 263 | fast = start; |
| 264 | |
| 265 | return [slow, fast]; |
| 266 | }; |
| 267 | |
| 268 | const moveSlow = (nums, slow, fast) => { |
| 269 | const isSame = () => slow === fast; |
no test coverage detected