题目链接:Problem - B - Codeforces
解题思路:
从最后开始遍历,用map记录每个数出现的次数,再定义一个num记录遍历的次数,要是没超过1,次数加一,超过就结束循环,输出数组长度减去num即可
下面是c++代码:
#include<iostream>
#include<map>
using namespace std;
int main()
{int n, m;cin >> n;while (n--) {int num = 0;cin >> m;map<int, int> mp;int* arr = new int[m];for (int i = 0; i < m; i++) {cin >> arr[i];}for (int i = m - 1; i >= 0; i--) {if (mp[arr[i]] == 0) {mp[arr[i]]++;num++;}else {break;}}cout << m - num << endl;}return 0;
}