题目描述
给定一个长度为n的数组a,请你编写一个函数:
int unique(int a[], int size); //返回数组前size个数中的不同数的个数。
输入格式
第一行包含两个整数n和size。
第二行包含n个整数,表示数组a。
输出格式
共一行,包含一个整数表示去重完成之后的数组长度。
数据范围
1≤size≤n≤1000
样例
输入样例:
5 3
1 1 2 4 5
输出样例:
4
算法1
蛮绕口的描述 给个AC代码 大家做个参考
C++ 代码
#include <iostream>
#include <set>
using namespace std;
const int N = 1010;
int arr[N];
int copy[N];
int n,size;
int main()
{
cin >> n >> size;
for(int i =0;i <n;i++){
cin >> arr[i];
}
set<int> filter; int count =0;
for(int i =0;i < size;i++ ){
if(filter.count(arr[i]) ==0){
//cout << arr[i] << endl;
count++;
filter.insert(arr[i]);
}
}
cout<< n-(size -filter.size());
return 0;
}
看了半天题目都没看懂。。。