首页 > 试题广场 >

小红的三带一

[编程题]小红的三带一
  • 热度指数:738 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
小红定义一个长度为  的数组为“三带一”,当且仅当其包含三个相同的元素和另一个不同的元素。
现在小红拿到了一个长为 n 的数组,他想知道该数组最多包含多少个互不相交的“三带一”连续子数组,请你帮帮他。

输入描述:
第一行输入一个整数 n\left(4 \leqq n \leqq 2 \times 10^5 \right) 。
第二行输入 n 个整数 a_1,a_2, \dots ,a_n \left(1 \leqq a_i \leqq 2 \times 10^5 \right) 代表数组的元素


输出描述:
输出一个整数,代表“三带一”连续子数组的数量。
示例1

输入

8
1 1 4 1 4 9 9 9

输出

2
头像 Ldh1315109
发表于 2025-11-09 11:44:31
def solve(testcase): n = II() A = LII() dp = [0 for _ in range(n + 1)] def f(idx): c = Counter(A[idx - 3: idx + 1]) 展开全文
头像 ddb酱
发表于 2025-11-17 10:47:18
#include <bits/stdc++.h> using namespace std; #define endl "\n" using vi = vector<int>; void solve() { int n; cin >& 展开全文
头像 nous1
发表于 2025-12-03 18:37:45
#include <iostream> #include <map> #include <vector> using namespace std; int main() { int n; cin>>n; if(n>4){ 展开全文
头像 自由的风0450
发表于 2025-11-26 11:44:30
#include <iostream> #include<vector> #include<unordered_map> #include<algorithm> using namespace std; int cnt3a1(const vector& 展开全文
头像 Drink0318
发表于 2025-12-09 09:17:50
import sys n = int(input()) lst = list(map(int,input().split())) counts = 0 i = 0 while i<=n-4: #取出列表中四个元素进行检测 s = lst[i:i+4] #如果s中仅有两 展开全文