恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

Kimi LeetCode 3948. 字典序最大的 MEX 数组 Java实现

  • 首页
  • 资讯中心
  • /
  • Kimi LeetCode 3948. 字典序最大的 MEX 数组 Java实现

相关资讯

当姿态骨架集体“抽风“:ComfyUI ControlNet Aux 的 OpenPose 预处理器从源码到实战的完整排查笔记 2026/8/18 20:24:37
AtCoder Beginner Contest 181-200 2026/8/18 20:24:37
计算周期优化:从原理到工业与金融实践 2026/8/18 20:24:37

最新资讯

AI如何快速准备面试?3天突击法+4步AI模拟训练,把零散准备变成系统性备考
AI如何生成求职信?5步JD定制法让AI写出一封不撞车的求职信
AI应用开发实战:RAG、Agent与LangGraph技术栈详解
硬件工程师必备的10个软件实战技巧:从环境配置到量产自动化
技术防诈骗实战:从流量分析到代码审计的完整拆解框架
从零构建医药知识图谱问答系统:Python+Neo4j+Docker全流程实战

今日推荐

数据缺失处理:从MCAR、MAR到MNAR的机制解析与多重插补实践
MAGS-SLAM:多智能体协同3D高斯泼溅SLAM系统解析
LLM智能体记忆管理:基于关键词门控的混合激活机制CAMeR详解

本周热门

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码
【双层规划,节点出清价,绿证交易,CVaR方法】两级电力市场环境下计及风险的省间交易商最优购电模型附Matlab代码
隐式mpc+自适应mpc+时变mpc,线性时变模型预测控制附Simulink仿真

本月精选

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

Kimi LeetCode 3948. 字典序最大的 MEX 数组 Java实现

发布时间:2026/8/18 20:24:37
Kimi    LeetCode 3948. 字典序最大的 MEX 数组 Java实现 以下是 LeetCode 3948. 字典序最大的 MEX 数组 的 Java 实现。思路贪心 双指针1. 预处理后缀 MEX从数组末尾往前遍历用 HashSet 维护已出现的数同时维护当前 MEX得到 suf[i] 表示从位置 i 开始到末尾的后缀的 MEX。2. 双指针构造答案从左到右每次取 target suf[idx] 作为当前位的最大可能 MEX- 若 target 0直接取一个元素答案加 0。- 若 target 0找到最短的包含 [0, target-1] 的前缀将其 MEX即 target加入答案并跳到该前缀之后继续。时间复杂度O(n)每个元素最多被访问两次。空间复杂度O(n)。javaimport java.util.*;class Solution {public int[] maximumMEX(int[] nums) {int n nums.length;// 1. 预处理后缀 MEXsuf[i] 表示 nums[i..n-1] 的 MEXint[] suf new int[n];SetInteger set new HashSet();int mex 0;for (int i n - 1; i 0; i--) {set.add(nums[i]);while (set.contains(mex)) {mex;}suf[i] mex;}// 2. 双指针贪心构造字典序最大的 resultListInteger ans new ArrayList();int idx 0;while (idx n) {int target suf[idx]; // 当前能取到的最大 MEXint right idx;if (target 0) {// 找最短前缀使其包含 0,1,...,target-1SetInteger cur new HashSet();int curMex 0;while (right n curMex target) {cur.add(nums[right]);while (cur.contains(curMex)) {curMex;}right;}ans.add(curMex); // curMex target} else {// target 0每次取一个元素即可right;ans.add(0);}idx right;}int[] res new int[ans.size()];for (int i 0; i ans.size(); i) {res[i] ans.get(i);}return res;}}示例验证输入 过程 输出nums [0,1,0] 后缀 MEX: [2,2,1] → 先取 [0,1] MEX2再取 [0] MEX1 [2,1]nums [1,0,2] 后缀 MEX: [3,1,0] → 取全部 [1,0,2] MEX3 [3]nums [3,1] 后缀 MEX: [0,0] → 每次取一个MEX 均为 0 [0,0]

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号