2563. 공정한 쌍 수 계산
난이도:중
주제: 배열, 두 포인터, 이진 검색, 정렬
0-인덱스 크기 n의 정수 배열 숫자와 하위 및 상위 두 정수가 주어지면 공정한 쌍의 수를 반환합니다.
(i, j) 쌍은 다음과 같은 경우에 공정합니다.
이 솔루션을 PHP: 2563으로 구현해 보겠습니다. 공정한 쌍 수 계산
<?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 ?>
이 접근 방식은 각 요소에 대한 정렬 및 이진 검색으로 인해 O(n log n)의 시간 복잡도를 가지므로 대규모 입력에 충분히 효율적입니다.
연락처 링크
이 시리즈가 도움이 되었다면 GitHub에서 저장소에 별표를 표시하거나 즐겨찾는 소셜 네트워크에서 게시물을 공유해 보세요. 여러분의 지원은 저에게 큰 의미가 될 것입니다!
이런 유용한 콘텐츠를 더 원하시면 저를 팔로우해주세요.
위 내용은 공정한 쌍 수 계산의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!