2563. Zählen Sie die Anzahl der fairen Paare
Schwierigkeit:Mittel
Themen:Array, Zwei Zeiger, Binäre Suche, Sortieren
Angesichts eines 0-indizierten ganzzahligen Arrays der Größe n und zwei Ganzzahlen unten und oben, wird die Anzahl der fairen Paare zurückgegeben.
Ein Paar (i, j) ist fair, wenn:
Beispiel 1:
Beispiel 2:
Einschränkungen:
Hinweis:
Lösung:
Wir können den folgenden Ansatz verwenden:
Lassen Sie uns diese Lösung in PHP implementieren: 2563. Zählen Sie die Anzahl der fairen Paare
<?php /** * @param Integer[] $nums * @param Integer $lower * @param Integer $upper * @return Integer */ function countFairPairs($nums, $lower, $upper) { ... ... ... /** * go to ./solution.php */ } /** * Helper function for binary search to find left boundary * * @param $arr * @param $target * @param $start * @return int|mixed */ function lowerBound($arr, $target, $start) { ... ... ... /** * go to ./solution.php */ } /** * Helper function for binary search to find right boundary * * @param $arr * @param $target * @param $start * @return int|mixed */ function upperBound($arr, $target, $start) { ... ... ... /** * go to ./solution.php */ } // Example usage: $nums = [0, 1, 7, 4, 4, 5]; $lower = 3; $upper = 6; echo countFairPairs($nums, $lower, $upper); // Output: 6 ?>
Dieser Ansatz hat eine zeitliche Komplexität von O(n log n) aufgrund der Sortierung und binären Suche für jedes Element, was für große Eingaben effizient genug ist.
Kontaktlinks
Wenn Sie diese Serie hilfreich fanden, denken Sie bitte darüber nach, dem Repository einen Stern auf GitHub zu geben oder den Beitrag in Ihren bevorzugten sozialen Netzwerken zu teilen? Ihre Unterstützung würde mir sehr viel bedeuten!
Wenn Sie weitere hilfreiche Inhalte wie diesen wünschen, folgen Sie mir gerne:
Das obige ist der detaillierte Inhalt vonZählen Sie die Anzahl der fairen Paare. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!