#include<bits/stdc++.h>
using namespace std;

const int N=2e5+5;
map<int,int> mp;
int a[N];

int main(){
	int T;
	scanf("%d",&T);
	while(T--){
		int n,tt=-1,t;
		scanf("%d",&n);
		mp.clear();
		for(int i=1;i<=n;++i){
			scanf("%d",&a[i]);
		}
		int l=1,r=n;
		while(a[l]==a[l+1]&&l<r) ++l;
		while(a[r]==a[r-1]&&r>l) --r;
		for(int i=l+1;i<r;++i){
			if(i!=l+1&&a[i]==a[i-1]){
				continue;
			}
			++mp[a[i]];
		}
		int ans;
		if(mp.size()){
			int t=n;
			for(int i=l+1;i<r;++i){
				t=min(mp[a[i]],t);
			}
			ans=t+1;
		}else{
			if(a[1]==a[n]){
				ans=0;
			}
			else{
				ans=1;
			}
		}
		ans=min(ans,mp[a[1]]+1);
		ans=min(ans,mp[a[n]]+1);
		printf("%d\n",ans);
	}
	return 0;
} 