当前位置: 首页 > news >正文

leetcode41-缺失的第一个正数

leetcode 41
在这里插入图片描述

思路

最小正整数的范围: 如果数组的长度是 n,那么缺失的最小正整数一定是从 1 到 n+1 之间的某个数字。因为数组如果包含了所有从 1 到 n 的数字,那么缺失的最小正整数就是 n + 1

  • 例如,如果数组 [1, 2, 3],缺失的最小正整数是 4;如果数组 [3, -1, 2, 1],缺失的最小正整数是 4

所以我们可以考虑到从1到n+1之间的每个数去遍历,看看数组中是否出现这个数,只要数组中没出现过,那说明当前这个数是最小正整数
如果通过数组的includes方法来查找,时间复杂度是O(n2),题目要求使用O(n)的复杂度来完成本题
那么可以牺牲空间来节省时间,我们知道set够在常数时间 O(1) 内检查某个数字是否存在

  • 从 1 开始,逐一检查 Set 中是否存在每个正整数。如果某个整数不存在于 Set 中,则返回它,因为它就是缺失的最小正整数

实现

var firstMissingPositive = function (nums) {const len = nums.length;const set = new Set(nums);for(let i = 1;i <= len+1;i++){if(!set.has(i)){return i}}
};

相关文章:

  • PLC入门【5】基本指令3(PLS PLF ZRST)
  • 加密通信 + 行为分析:运营商行业安全防御体系重构
  • uniapp 字符包含的相关方法
  • 关键领域软件测试的突围之路:如何破解安全与效率的平衡难题
  • Vue数据响应式原理解析
  • vue3 定时器-定义全局方法 vue+ts
  • IDC智能机房整体解决方案
  • 第三方检测:软件渗透测试
  • 分类预测 | Matlab基于AOA-VMD-BiLSTM故障诊断分类预测
  • HubSpot推出与ChatGPT的深度集成引发兴奋与担忧
  • 消息队列生产问题解决方案全攻略
  • 安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件
  • 学习时困了怎么办
  • 安宝特案例丨寻医不再长途跋涉?Vuzix再次以AR技术智能驱动远程医疗
  • linux cgroup内存/io/cpu/网络使用总结
  • 人工智能--安全大模型训练计划:基于Fine-tuning + LLM Agent
  • Linux下如何使用Curl进行网络请求
  • 单片机bootloader(APP的自我复制)
  • Cursor 使用分享
  • ​小学五年级的语言来解释符号​
  • 网站网格设计/电商平台哪个最好最可靠
  • 网站更新要怎么做/企业网站建设步骤
  • 网站开发的推荐/怎么样引流加微信
  • 石家庄自适应网站建设/高端婚恋网站排名
  • 企业网站模板建站费用/外贸seo是什么意思
  • 企业网站 微信里怎么做/怎么做优化关键词