题解 | 小红的三带一
小红的三带一
https://www.nowcoder.com/practice/f71aec371e30425dbe3cc509bafe4158?channelPut=tracker3
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
vector<int> a(n);
for (int i = 0; i < n; i++) {
cin >> a[i];
}
int ans = 0;
for (int i = 0; i + 3 < n; ) {
int x1 = a[i], x2 = a[i+1], x3 = a[i+2], x4 = a[i+3];
vector<int> tmp = {x1, x2, x3, x4};
sort(tmp.begin(), tmp.end());
if ((tmp[0] == tmp[2] && tmp[3] != tmp[0]) ||
(tmp[1] == tmp[3] && tmp[0] != tmp[1])) {
ans++;
i += 4;
} else {
i++;
}
}
cout << ans << endl;
return 0;
}
查看2道真题和解析