首頁  >  文章  >  後端開發  >  PHP學習統計某個數字在排序數組中出現的頻次

PHP學習統計某個數字在排序數組中出現的頻次

little bottle
little bottle轉載
2019-04-24 17:31:212390瀏覽

本篇文章的主要內容是用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中文網其他相關文章!

陳述:
本文轉載於:cnblogs.com。如有侵權,請聯絡admin@php.cn刪除