首页 > 编程语言 > 详细

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

时间:2018-12-30 11:36:58      阅读:126      评论:0      收藏:0      [点我收藏+]

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

实现语言: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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!