码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2018-12-30 11:42:10      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:for   描述   ber   lse   ++   div   index   class   array   

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

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

 

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

标签:for   描述   ber   lse   ++   div   index   class   array   

原文地址:https://www.cnblogs.com/xidian2014/p/10198787.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!