数字在升序数组中出现的次数-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; } }