原题链接:6048. 必须拿起的最小连续卡牌数
class Solution {
public:
int minimumCardPickup(vector<int>& cards) {
int res=INT_MAX,f=0;
map<int,int> m;
for(int i=0;i<cards.size();i++)
{
int x=cards[i];
if(m[x])
{
res=min(i-m[x]+2,res);
f=1;
}
m[x]=i+1;
}
if(!f) return -1;
return res;
}
};