首页 > 试题广场 >

小红的区间删除

[编程题]小红的区间删除
  • 热度指数:1368 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
小红拿到了一个数组,她准备进行最多一次以下操作:
选择两个相等的元素,将这两个元素之间的所有元素删除。
小红想知道,她最多可以删除多少个元素?

输入描述:
第一行输入一个正整数n,代表数组的大小。
第二行输入n个正整数a_i,代表数组的元素。
1\leq n \leq 200000
1\leq a_i \leq 10^9


输出描述:
一个整数,代表可以删除的最多数量。
示例1

输入

5
2 1 2 3 1

输出

2

说明

选择第二个数和第五个数(都是1),小红可以删除第三个数和第四个数。
头像 有胆量的柯基在学习
发表于 2025-08-20 13:20:32
#include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; vector<long long> a(n); for (int i = 0; 展开全文
头像 牛超超
发表于 2025-08-09 11:06:37
const rl = require("readline").createInterface({ input: process.stdin }); var iter = rl[Symbol.asyncIterator](); const readline = async () = 展开全文
头像 牛客552859644号
发表于 2025-09-27 20:25:46
// 小红拿到了一个数组,她准备进行最多一次以下操作: // 选择两个相等的元素,将这两个元素之间的所有元素删除。 // 小红想知道,她最多可以删除多少个元素? // 1≤n≤200000 // 1≤ai≤10**9 // 相同元素的最大距离,遍历超时 // 记录每个元素的第一次下标和最后一次下 展开全文
头像 丨阿伟丨
发表于 2025-09-11 15:32:44
题目链接 小红的区间删除 题目描述 给定一个数组,小红可以执行最多一次操作:选择数组中两个值相等的元素,并将这两个元素之间的所有元素(不包括这两个元素本身)删除。 目标是计算出通过此操作最多可以删除多少个元素。 解题思路 题目的核心是找到一对值相等的元素,其在数组中的索引分别为 和 (假设 ),使 展开全文