2019 力扣杯-全国高校春季编程大赛 有序数组中的缺失元素
给出一个有序数组 A
,数组中的每个数字都是 独一无二的,找出从数组最左边开始的第 K
个缺失数字。
示例 1:
输入:A = [4,7,9,10], K = 1 输出:5 解释: 第一个缺失数字为 5 。
示例 2:
输入:A = [4,7,9,10], K = 3 输出:8 解释: 缺失数字有 [5,6,8,...],因此第三个缺失数字为 8 。
示例 3:
输入:A = [1,2,4], K = 3 输出:6 解释: 缺失数字有 [3,5,6,7,...],因此第三个缺失数字为 6 。
提示:
1 <= A.length <= 50000
1 <= A[i] <= 1e7
1 <= K <= 1e8
没啥好说的。注意超过数组最大值的就不要去遍历了。直接算!
这题的正解应该也是直接算的。。
class Solution { public: int missingElement(vector<int>& nums, int k) { int mx = 0; int mi = nums[0]; set<int> Se; for (int num : nums) { Se.insert(num); mx = max(mx, num); } int pos = 0; int num = 0; int cnt = mx - mi + 1 - nums.size(); if(k<=cnt){ for (int i = mi; i <= mx; ++i) { if (!Se.count(i)){ num++; if(num == k){ return i; } } } } return mx+k-cnt; } };
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
2018-04-21 江西财经大学第一届程序设计竞赛 I
2018-04-21 江西财经大学第一届程序设计竞赛 H
2018-04-21 江西财经大学第一届程序设计竞赛 G
2018-04-21 江西财经大学第一届程序设计竞赛 F
2018-04-21 江西财经大学第一届程序设计竞赛 E
2018-04-21 江西财经大学第一届程序设计竞赛 D
2018-04-21 江西财经大学第一届程序设计竞赛 C