剑指offer61

#include
#include
using namespace std;

bool f(int *p) {
	map m;
	int i = 0;
	while (i<5){
		if (m.find(p[i]) != m.end() && p[i] != 0) return false;
		else if(m.find(p[i]) != m.end()) m[p[i]]++;
		else m.insert(pair(p[i],0));
		i++;
	}
	map::iterator it=m.begin();
	i = it->first;
	it++;
	int b = 0;
	int t = 0;
	while (it!=m.end()){
		if (it->first != 0 && it->first != i + 1) b=it->first-i-1;
		else if (it->first == 0) t++;
		i = it->first;
		it++;
	}
	if (b > t) return false;
	else return  true;
}

int main() {
	int p[5] = {9,10,11,13,12};
	cout << (f(p)==true) << endl;
	return 0;
}

你可能感兴趣的:(剑指offer)