이 기사의 주요 내용은 PHP를 사용하여 정렬된 배열에 숫자가 나타나는 횟수를 계산하는 것입니다. 관심 있는 친구들이 이에 대해 자세히 알아볼 수 있기를 바랍니다.
질문: 정렬된 배열에 숫자가 나타나는 횟수를 셉니다.
아이디어 1: 일반 순회, 동일한 숫자가 있는지 비교하고 발견되면 자동으로 +1
아이디어 2: 이분법을 사용하여 동일한 숫자를 먼저 찾고 아래 첨자를 기록합니다. 그런 다음 0에서 아래 첨자로 이동하고 아래 첨자부터 시작 부분까지 총 같음 수를 기록합니다.
left=getLeft(data,k) right=getRight(data,k) retun right-left+1 getLeft data,k left=0 right=arr.length-1 mid=left+(right-left)/2 while left<=right if arr[mid]<k //关键 left=mid+1 else right=mid-1 mid=left+(right-left)/2 return left getRight data,k left=0 right=arr.length-1 mid=left+(right-left)/2 while left<=right if arr[mid]<=k //关键 left=mid+1 else right=mid-1 mid=left+(right-left)/2 return right
관련 튜토리얼: PHP 비디오 튜토리얼
위 내용은 정렬된 배열에 나타나는 숫자의 빈도를 계산하는 PHP 학습의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!