$e2[0]; }); $vis = \array_fill(0, $size, false); $ans = 0; for ($i = 0; $i < $size; ++$i) { if ($vis[$i] || $bPos[$i][1] === $i) { continue; } $cycleSize = 0; $j = $i; while (!$vis[$j]) { $vis[$j] = true; $j = $bPos[$j][1]; ++$cycleSize; } $ans += $cycleSize - 1; } return $ans; } }