题目描述:
给定一个数组,其中元素有正有负,要求计算数组中重复出现2次以上元素之和,若无元素重复,则返回0。
输入描述:
输入一个任意长度的数组,元素可正可负,其实和结束用中括号,参考示例格式。
输出描述:
数组中所有重复出现2次以上元素的和,若无元素重复,则返回0。
示例:
输入:[1 1 2 3]
输出:1
贴一下自己的代码,不一定准确
#include <bits/stdc++.h>
using namespace std;
int Test(vector<int> &Input)
{
sort(Input.begin(), Input.end());
unsigned int Total = 0;
int countNum = 0;
for (unsigned int i = 0; i < Input.size();)
{
countNum = count(Input.begin(), Input.end(), Input[i]);
if (countNum > 1)
{
Total += Input[i];
i += countNum;
}
else
++i;
}
return Total;
}
int main()
{
int temp;
vector<int> Input;
while (cin >> temp)
{
Input.push_back(temp);
}
cout << Test(Input) << endl;
return 0;
}