在牛客上看到這樣一道題:
題目描述
function GetNumberOfK(data, k)
{
// write code here
var l = 0,r = data.length,mid;
while(l < r){
mid = Math.floor((l+r)/2);
if(data[mid] < k ){
while(data[mid] == data[mid+1]){
mid++;
}
l = ++mid;
}else if(data[mid] > k){
while(data[mid] == data[mid-1]){
mid--;
}
r = --mid;
}else{
var sign1 = mid,sign2 = mid;
while(sign1 <= r && data[sign1] == data[sign1+1]){
sign1++;
}
while(sign2 >= l && data[sign2] == data[sign2-1]){
sign2--;
}
return sign1-sign2+1;
}
}
return 0;
}
module.exports = {
GetNumberOfK : GetNumberOfK
};