数字在升序数组中出现的次数-Java实现
数字在升序数组中出现的次数
http://www.nowcoder.com/questionTerminal/70610bf967994b22bb1c26f9ae901fa2
一. 思路
数组是升序的,可以用二分查找。
二. 代码
public class Solution {
public int GetNumberOfK(int [] array , int k) {
if (array == null || array.length == 0) return 0;
int left = 0, right = array.length-1;
int mid = 0, count = 0;
while (left < right) {
mid = (left+right) / 2;
if (k < array[mid]) {
right = mid - 1;
} else if (k > array[mid]) {
left = mid + 1;
} else {
break;
}
}
for (int i = left; i <= right; i++) {
if (array[i] == k) {
count++;
}
}
return count;
}
}
查看8道真题和解析
OPPO公司福利 1276人发布