题目描述:
小明是个马大哈,某天他到超市买了若干双筷子(小于20)
筷子的长度不尽相同,他把全部筷子都放在购物袋里面拿回家,路上不小心漏了一根
请你用程序帮他找出漏掉的筷子是多长的。
运行时间限制: 无限制
内存限制: 无限制
输入:
第一行:非负的整数, 剩下的筷子的根数;例如:7
第二行:剩下的筷子的各个长度值。例如:1 2 3 2 1 3 2(每一根筷子的长度必然大于0, 不需要校验)
建议:读入输入的整数的时候,不要读入换行符('\n')
输出:
漏掉的筷子的长度,如上述输入返回:2
当输入的数据异常时输出-1,如:找不到漏掉的筷子
备注:如果漏掉了多根筷子,返回任意一根漏掉的筷子即可。
输出整数后,不需要输出换行符。
样例输入:
7
1 2 3 2 1 3 2
样例输出:
2
代码:
#include <iostream>
#include <map>
using namespace std;
int main()
{
int num, i,value;
cin >> num;
map<int, int>m;
for (i = 0; i < num; i++)
{
cin >> value;
if (m[value] == 0)
m[value] = 1;
else
m[value] = 0;
}
map<int, int>::iterator it;
for (it = m.begin(); it != m.end(); it++)
{
if (it->second != 0)
{
cout << it->first;
return 0;
}
}
cout << -1;
return 0;
}
得分 | 运行时间 | 内存 | 复杂度 | 最大嵌套深度 |
100(100) | 62ms | 2088KB | 6 | 3 |