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

来源:互联网 发布:清风dj软件下载 编辑:程序博客网 时间:2024/05/02 01:13

题目描述

统计一个数字在排序数组中出现的次数。
代码:
public class Solution {    public int GetNumberOfK(int [] array , int k) {        if(array.length>0){            int counter=0;        int left=0,right=array.length-1,mid=0;        while(left<right){            mid= (left+right)/2;            if(array[mid]>k){                right=mid-1;            }else if(array[mid]<k){                left=mid+1;            }else{                break;            }        }        if(left!=right){           if(array[mid]==k){               counter++;               left=mid-1;               while(left>=0 && array[left]==k){                    counter++;                    left--;                }               right=mid+1;               while(right<array.length && array[right]==k){                    counter++;                    right++;                }           }        }else{            if(array[left]==k){                counter++;                left++;                             while(left<array.length && array[left]==k){                    counter++;                    left++;                }                right--;                while(right>=0 && array[right]==k){                    counter++;                    right--;                }            }                     }               return counter;        }        else{     return 0;      }    }}

1 0
原创粉丝点击