思路:双指针搜索,i固定j往前扫描直到元素不相等,计算(j-i)->代表i所指的元素有多少个相同,减1则是有重复的元素应该删去的次数。
同时i指向下一个新元素,j继续向前搜索。
#include <iostream>
using namespace std;
int main()
{
int n;
int count=0;
int a[1001];
int i=1,j=2;
while(cin>>n)
{
for(int i=1;i<n+1;++i)
{
cin>>a[i];
}
while(j<=n)
{
while(a[i]==a[j] && j<=n)
j++;
count+=(j-i-1);
i=j;
}
cout<<(n-count)<<endl;
}
return 0;
}