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

int main()
{
    int t;
    cin>>t;
    while(t--)
    {
        int n;
        cin>>n;
        vector<int> vec(n);
        for(int i=0;i<n;i++)
        {
            cin>>vec[i];
        }
        
        stack<int> st;
        for(int i=0;i<n;i++)
        {
            if(st.empty())
            {
                st.push(vec[i]);
                continue;
            }
            while(i<n && !st.empty() && st.top()==vec[i])
            {
                i++;
            }
            if(i<n)
                st.push(vec[i]);
        }
        unordered_map<int,int> mp;
        while(!st.empty())
        {
            mp[st.top()]++;
            st.pop();
        }
        mp[vec[0]]--;
        mp[vec[n-1]]--;
        int mini=INT_MAX;
        for(auto it =mp.begin();it!=mp.end();it++)
        {
            mini=min(mini,it->second);
        }
        cout<<mini+1<<"\n";
     
    }
}