题目:统计一个数字在排序数组中涌现的次数。
思绪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进修之统计某个数字在排序数组中涌现的频次的细致内容,更多请关注ki4网别的相干文章!