题目
统计一个数字在排序数组中出现的次数。
示例 1:
输入: nums = [5,7,7,8,8,10], target = 8
输出: 2
示例 2:
输入: nums = [5,7,7,8,8,10], target = 6
输出: 0
分析
代码实现
class Solution {
int cnt = 0;
public int search(int[] nums, int target) {
helper(nums,target,0,nums.length-1);
return cnt;
}
public void helper(int[] nums, int target, int i, int j) {
// TODO Auto-generated method stub
if(i > j)
return ;
int mid = (j-i)/2 + i;
if(nums[mid] == target){
cnt++;
helper(nums,target,i,mid-1);
helper(nums,target,mid+1,j);
}else if(nums[mid] < target){
helper(nums,target,mid+1,j);
}else{
helper(nums,target,i,mid-1);
}
}
}