题目描述
统计一个数字在排序数组中出现的次数。
解决方法
递归
class Solution {
public:
int GetNumberOfK(vector<int> data ,int k) {
if (data.size()==0) return 0;
int left=0,right=data.size()-1;
int mid=(left+right)/2;
if (k==data[mid])
return GetNumberOfK(vector<int>(data.begin(),data.begin()+mid),k)+GetNumberOfK(vector<int>(data.begin()+mid+1,data.end()),k)+1;
else if (k<data[mid])
return GetNumberOfK(vector<int>(data.begin(),data.begin()+mid),k);
else
return GetNumberOfK(vector<int>(data.begin()+mid+1,data.end()),k);
}
};