数字在排序数组中出现的次数

题目描述:统计一个数字在排序数组中出现的次数。

实现语言:Java

public class Solution {
    public int GetNumberOfK(int [] array , int k) {
        int size=array.length;
        if(size==0||array==null){
            return 0;
        }
        int index=0;
        int low=0;
        int high=size-1;
        int mid=0;
        while(low<high){
            mid=(low+high)>>1;
            if(array[mid]==k){
                index=mid;
                break;
            }else if(array[mid]>k){
                high=mid-1;
            }else{
                low=mid+1;
            }
        }
        int cnt=0;
        for(int i=index;i<size;++i){
            if(array[i]==k){
                ++cnt;
            }
        }
        for(int i=index-1;i>=0;--i){
            if(array[i]==k){
                ++cnt;
            }
        }
        return cnt;
    }
}
原文地址:https://www.cnblogs.com/xidian2014/p/10198787.html