数字在排序数组中出现的次数
数字在排序数组中出现的次数
http://www.nowcoder.com/questionTerminal/70610bf967994b22bb1c26f9ae901fa2
统计一个数字在排序数组中出现的次数。
//思路,因为是排序数组,所以指定数字的出现肯定是连续的。后面可以不用再遍历。
public int GetNumberOfK(int [] array , int k) {
int count=0;
for(int a:array){
if(a==k){
++count;
}else if(count>0){
break;
}
}
return count;
}看了下一叶浮尘的回答。还是大佬的叶姐的解法牛逼。
import java.util.Arrays;
public class Solution {
//思路,二叉搜索。
public int GetNumberOfK(int [] array , int k) {
int index=Arrays.binarySearch(array,k);
if(index<0){
return 0;
}
int count=1;
for(int i=index+1;i<array.length&&array[i]==k;i++){
count++;
}
for(int j=index-1;j>=0&&array[j]==k;j--){
count++;
}
return count;
}
}
查看11道真题和解析