問題:統計一個數位在排序陣列中出現的次數。
思路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學習之統計某個數位在排序陣列中出現的頻次的詳細內容,更多請關注TW511.COM其它相關文章!