备忘
数字在排序数组中出现的次数
http://www.nowcoder.com/questionTerminal/70610bf967994b22bb1c26f9ae901fa2
public class Solution {
public int GetNumberOfK(int [] array , int k) {
if(k < array[0] || k > array[array.length-1]){
return 0;
}
int left = 0;
int right = array.length -1;
int count = 0;
while(left < right){
int mid = (left+right)/2;
if(array[mid] > k){
right = mid;
}else if(array[mid] < k){
left = mid;
}else{
count++;
int prev = mid-1;
int foll = mid+1;
while(prev >= 0){
if(array[prev] == k){
prev--;
count++;
}else{
break;
}
}
while(foll <= array.length-1){
if(array[foll] == k){
foll++;
count++;
}else{
break;
}
}
}
}
return count;
}
}

查看14道真题和解析