题解 | #数字在升序数组中出现的次数#
数字在升序数组中出现的次数
http://www.nowcoder.com/practice/70610bf967994b22bb1c26f9ae901fa2
public int GetNumberOfK(int [] array, int k) {
if(array.length==0){
return 0;
}
int count = 0; //统计个数
int left = 0; //左边的下标
int right = array.length - 1; //右边的下标
while (left<array.length) {//从零开始遍历,直到找到等于k的下标
if(array[left]==k){
break;
}else{
left++;
}
}
while(right>=0){//从最大值开始遍历,直到找到等于k的下标
if(array[right]==k){
break;
}else{
right--;
}
}
if(left>=array.length||right<0){//如果没有找到就输出0,否则就输出左右下标的差值加1
return 0;
}else{
return right-left+1;
}
}
}