【leetcode】缺失的第一个正数 hashmap

这篇具有很好参考价值的文章主要介绍了【leetcode】缺失的第一个正数 hashmap。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【leetcode】缺失的第一个正数 hashmap,力扣,算法,leetcode,算法,职场和发展

/**
 * @param {number[]} nums
 * @return {number}
 */
var firstMissingPositive = function(nums) {
    if(nums.length===0) return 1;
    if(nums.length===1&nums[0]<=0) return 1;
    let arr=[];
    nums.forEach((v)=>{
        if(v>=1){
            arr[v]=1;
        }
    })
    if(!arr.length) return 1;
    for(let i=1;i<arr.length;i++){
        if(!arr[i]) return i;
    }
    return arr.length;

};

先把数组里面的正数i都取出来,放到对应的arr[i]=1
然后遍历arr,如果不为1,那么就返回i文章来源地址https://www.toymoban.com/news/detail-804114.html

到了这里,关于【leetcode】缺失的第一个正数 hashmap的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Leetcode41缺失的第一个正数

    Leetcode41缺失的第一个正数

    思路:原地哈希表 长度为N的数组,没有出现过的正整数一定是1~N+1中的一个。 此时会思考能不能用一个哈希表来保存出现过的1~N+1的数,然后从 1 开始依次枚举正整数,并判断其是否在哈希表中 但是题目要求常数级别的空间,就不能使用N的哈希表了。 这里将原数组当做哈

    2024年02月05日
    浏览(5)
  • LeetCode41.缺失的第一个正数

    给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。   示例 1: 输入:nums = [1,2,0] 输出:3 示例 2: 输入:nums = [3,4,-1,1] 输出:2 示例 3: 输入:nums = [7,8,9,11,12] 输出:1 思路: 1.本

    2024年02月12日
    浏览(6)
  • 算法---缺失的第一个正数

    算法---缺失的第一个正数

    给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。 借用map 就可以实现,但是如果不借用map,在原空间上,也可以实现,不过想要使用原来的数据,会有侵略性,会把原来的数据修改掉。 方法一: 方法二: 算法是很看一个人的思维逻辑的,所以很多

    2024年02月06日
    浏览(6)
  • LeetCode_原地哈希_困难_41.缺失的第一个正数

    给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 示例 1: 输入:nums = [1,2,0] 输出:3 示例 2: 输入:nums = [3,4,-1,1] 输出:2 示例 3: 输入:nums = [7,8,9,11,12] 输出:1 提示: 1 = nu

    2024年02月03日
    浏览(10)
  • Practices11|41. 缺失的第一个正数(数组)、73. 矩阵置零(矩阵)

    Practices11|41. 缺失的第一个正数(数组)、73. 矩阵置零(矩阵)

    1.题目: 给你一个未排序的整数数组  nums  ,请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为  O(n)  并且只使用常数级别额外空间的解决方案。 示例 1: 示例 2: 示例 3: 提示: 1 = nums.length = 5 * 105 -231 = nums[i] = 231 - 1 2.思路: 如果本题没有额外的时空复杂

    2024年02月12日
    浏览(10)
  • 力扣热门算法题 349. 两个数组的交集,387. 字符串中的第一个唯一字符,394. 字符串解码

    力扣热门算法题 349. 两个数组的交集,387. 字符串中的第一个唯一字符,394. 字符串解码

    349. 两个数组的交集,387. 字符串中的第一个唯一字符,394. 字符串解码,每题做详细思路梳理,配套PythonJava双语代码, 2024.04.02 可通过leetcode所有测试用例。 目录 349. 两个数组的交集 解题思路 完整代码 Python Java 387. 字符串中的第一个唯一字符 解题思路 完整代码 Python Java

    2024年04月08日
    浏览(16)
  • 84.在排序数组中查找元素的第一个和最后一个位置(力扣)

    84.在排序数组中查找元素的第一个和最后一个位置(力扣)

    目录 问题描述 代码解决以及思想  知识点  初始化左边界 left 为数组的起始位置(0),右边界 right 为数组的结束位置( nums.size() - 1 )。 进入一个循环,只要左边界 left 不大于右边界 right ,就执行以下操作: a. 计算中间位置 middle ,这是为了进行二分查找,以避免整数溢

    2024年02月06日
    浏览(14)
  • 在排序数组中查找元素的第一个和最后一个位置——力扣34

    在排序数组中查找元素的第一个和最后一个位置——力扣34

    题目描述 法一 二分查找

    2024年02月14日
    浏览(15)
  • 【算法】编写一个函数,返回两个正数的和,有可能超过ulong长度

    编写一个函数,返回两个数字的和。输入数字是字符串,函数必须返回一个字符串。 示例: 添加(“123”,“321”);-“444” 添加(“11”,“99”);-“110” 备注: 输入的数字很大,有可能超过ulong长度。 输入是一个只有数字的字符串。 数字是正数。     算法实现:

    2024年02月14日
    浏览(13)
  • LeetCode 34 在排序数组中查找元素的第一个和最后一个位置

    在排序数组中查找元素的第一个和最后一个位置 给你一个按照非递减顺序排列的整数数组 nums ,和一个目标值 target 。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target ,返回 [-1, -1] 。 你必须设计并实现时间复杂度为 O(log n) 的算法解决此

    2024年02月02日
    浏览(13)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包