原题链接:
https://vjudge.net/problem/CodeForces-1454B
AC代码:
#include <algorithm>
#include <cmath>
#include <cstdio>
#include <cstring>
#include <iostream>
#include <map>
#include <queue>
#include <set>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int INF = 0x3fffffff;
void __init__()
{
ios::sync_with_stdio(false);
cin.tie(0), cout.tie(0);
}
int main()
{
__init__();
int t;
cin >> t;
while (t--)
{
vector<int> vec;
map<int, int> ma;
int n;
cin >> n;
int a;
for (int i = 0; i < n; i++)
{
cin >> a;
if(i==0||a!=vec.back()){
vec.push_back(a);
ma[a]++;
}
}
ma[vec.front()]--;
ma[vec.back()]--;
int minn = INF;
for(auto q:ma){
if(minn>q.second){
minn = q.second;
}
}
cout << minn+1 << endl;
}
}
参考了大佬的思路,这题我第一想法是dp,没想到用贪心做清晰简单