1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

MEX数组

题解思路

  1. 首先使用哈希表统计数组中各个数字出现的次数。
  2. 计算整体数组的 MEX 值:
    • 从 0 开始,如果数字 0 出现在数组中,则 MEX 至少为 1;继续判断 1、2、…,直到遇到第一个未出现的数字,此时该数字即为整体数组的 MEX。
  3. 对于数组中每个位置,如果删除该位置的元素会改变整体 MEX:
    • 如果当前元素的值小于整体 MEX 且该数字在数组中只出现一次,则删除后该数字从数组中消失,变成缺失的最小非负整数,此时删除后的 MEX 就变为该数字;
    • 否则,删除后数组中仍然包含该数字或该数字本身不影响整体 MEX,删除后的 MEX 与整体 MEX 相同。

P2702.第2题-MEX数组

    2000ms Tried: 132 Accepted: 32 Difficulty: 4 所属公司 : oppo
    算法与标签>哈希表

题目内容

小欧有一个长度为nnn的数组[a1,a2,...,an][a_1,a_2,...,a_n][a1​,a2​,...,an​]。现在他想知道,对于aaa中的每个元素,删除该元素后数组的MEX值是多少,请你帮他算算吧。

整数数组的MEX定义为没有出现在数组中的最小非负整数。

输入描述

第一行输入一个整数n(2≤n≤200000)n(2 ≤n≤200000)n(2≤n≤200000)代表数组中的元素数量。

第二行输入nnn个整数a1,a2,...,ana_1,a_2,...,a_na1​,a2​,...,an​(0≤ai≤109)(0≤a_i≤10^9)(0≤ai​≤109)代表数组元素。

输出描述

在一行上输出nnn个整数,其中第iii个整数表示删除aia_iai​后数组的MEXMEXMEX值。

样例1

输入

5
0 1 2 3 3

输出

0 1 2 4 4 

说明

删除第一个元素000后数组变为[1,2,3,3][1,2,3,3][1,2,3,3],其中最小的未出现的非负整数为000;

除第二个元素000后数组变为[0,2,3,3][0,2,3,3][0,2,3,3],其中最小的未出现的非负整数为111。

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 0, 30ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?