給定一個升序排列的數(shù)組,去掉重復(fù)的數(shù)软舌,并輸出新的數(shù)組的長度才漆。
例如:數(shù)組 A = {1, 1, 2}A={1,1,2},你的程序應(yīng)該輸出 22 即新數(shù)組的長度葫隙,新數(shù)組為 {1, 2}{1,2}栽烂。
要求:不能新開數(shù)組分配額外的空間,即常數(shù)空間限制。
輸入格式
輸入一個整數(shù) n(1 \leq n \leq 1000)n(1≤n≤1000)腺办。
接下來一行 nn 個整數(shù) A_i(-1000 \leq A_i \leq 1000)A
?i
?? (?1000≤A
?i
?? ≤1000)焰手,表示數(shù)組 AA 中的每個元素。
輸出格式
輸出一個整數(shù)怀喉,表示新數(shù)組長度书妻。
樣例輸入
5
0 0 1 1 2
樣例輸出
3
例如:數(shù)組 A = \{1, 1, 2\}A={1,1,2},你的程序應(yīng)該輸出 22 即新數(shù)組的長度聊闯,新數(shù)組為 \{1, 2\}{1,2}工猜。
要求:不能新開數(shù)組分配額外的空間,即常數(shù)空間限制菱蔬。
輸入格式
輸入一個整數(shù) n(1 \leq n \leq 1000)n(1≤n≤1000)篷帅。
接下來一行 nn 個整數(shù) A_i(-1000 \leq A_i \leq 1000)A
?i
?? (?1000≤A
?i
?? ≤1000),表示數(shù)組 AA 中的每個元素拴泌。
輸出格式
輸出一個整數(shù)魏身,表示新數(shù)組長度。
樣例輸入
5
0 0 1 1 2
樣例輸出
3
````````
#include<iostream>
#include<set>
using namespace std;
int main(){
int n;
cin>>n;
int a[1005];
set<int> s;
set<int>::iterator iter;
for(int i=0;i<n;i++){
cin>>a[i];
s.insert(a[i]);
}
// for(iter = s.begin() ; iter != s.end() ; ++iter)
//{
// cout<<*iter<<" ";
// }
// cout<<endl;
cout<<s.size()<<endl;
return 0;
}