計蒜客.排序後的陣列刪除重複數字
阿新 • • 發佈:2019-01-30
給定升序排序的陣列,如果陣列有 22 個或 22 個以上相同的數字,去掉他們,直到剩下 22 個為止。
例如:
陣列 A[] = [1,1,1,2,2,3]A[]=[1,1,1,2,2,3]
你的演算法需要返回新陣列的長度 55,
此時 AA 為 [1,1,2,2,3][1,1,2,2,3]。
輸入格式
第一行輸入一個不超過 200200 的數字 nn,第二行輸入 A[n]A[n]。
輸出格式
輸出新陣列的長度。
樣例輸入
6 1 1 1 1 3 3
樣例輸出
4
思路:思路太騷,各位直接看程式碼吧,我是看完大呼臥槽......
#include<iostream> #include<algorithm> using namespace std; const int maxn=200+10; int a[maxn]; int main() { int n; scanf("%d",&n); for(int i=0;i<n;i++) scanf("%d",&a[i]); int num=n; int sum=0,j,i; for( i=0;i<n;i++) { for( int j=0;j<n;j++) { if(a[i]==a[j])sum++; } if(sum>2) { num=((num+2)-sum); i=i+sum; } sum=0; } cout<<num<<endl; return 0; }