1. 程式人生 > >計蒜客.排序後的陣列刪除重複數字

計蒜客.排序後的陣列刪除重複數字

給定升序排序的陣列,如果陣列有 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;
}