public class Solution {
public int GetNumberOfK(int [] array , int k) {
int len=array.length-1;
int left=0;
int right=array.length-1;
int count=0;
while(left<=right)
{
if(k==array[(left+right)/2])
{
count++;
int m=(left+right)/2;
int mm=m;
m++;
mm--;
while(m<=len&&k==array[m])
{
count++;
m++;
}
while(mm>=0&&k==array[mm])
{
count++;
mm--;
}
return count;
}
else if(k<array[(left+right)/2])
{
right=(left+right)/2;
}
else
{
left=(left+right)/2;
}
}
return -1;
}
}
您的代码已保存
运行超时:您的程序未能在规定时间内运行结束,请检查是否循环有错或算法复杂度过大。
case通过率为0.00%