剑指offer---数字在排列数组中出现的次数

题目描述

统计一个数字在排序数组中出现的次数。
第一种解法:

int GetNumberOfK(vector<int> data ,int k){
	if(data.size() == 0){
		return 0;
	} 
	int count = 0;
	for(int i = 0;i < data.size();i++){
		if(data[i] == k){
			count++;
		}
		if(data[i] > k){
			break;
		}
	}
	return count;
}

第二种解法:
可以直接使用stl库里面的equal_range函数

//数字在排列数组中出现的次数 
int GetNumberOfK(vector<int> data ,int k){
	if(data.size() == 0){
		return 0;
	}
	pair< vector<int>::iterator, vector<int>::iterator> result;
	result = equal_range(data.begin(),data.end(),k);
	return result.second - result.first;
}
发布了102 篇原创文章 · 获赞 21 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/guanripeng/article/details/104660340