#include<bits/stdc++.h>
using namespace std;
int n;int a[200005];
void solve(){
int l=1;
int r=n;
int count=0;
while(l<r){
int b=0;int e=0;
if(a[l-1]==a[l])b++;
if(a[r+1]==a[r])b++;
if(a[l-1]==a[r])e++;
if(a[r+1]==a[l])e++;
if(b>e)swap(a[r],a[l]);
r--;l++;
}
for(int i=1;i<=n;i++){
if(a[i]==a[i-1])count++;
}
cout<<count<<'\n';
}
int main(){
int t;
cin>>t;
while(t--){
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
a[0]=0;a[n+1]=0;
solve();
}
return 0;
}
每次只要比较交换前后相同的数目,只要考虑每次的单侧确保没有后效性