excel学习库

excel表格_excel函数公式大全_execl从入门到精通

无序数组中找出连续的数中第一个缺失的数字

可以通过哈希表的方式来解决这个问题。

首先,遍历一遍数组,将数组中的数字都存入哈希表中。

然后,从数字 1 开始,遍历数字 1 到数组中的最大值,判断每个数字是否出现在哈希表中,如果某个数字不在哈希表中,那么它就是第一个缺失的数字。

代码如下:

def findFirstMissingNumber(nums):    # 将数组中的数字存入哈希表中    num_set = set(nums)    # 从数字 1 开始,逐个判断数字是否在哈希表中    missing_number = 1    while missing_number in num_set:        missing_number += 1    # 返回第一个缺失的数字    return missing_number# 测试样例nums = [1, 2, 4, 5]print(findFirstMissingNumber(nums))  # 输出 3

这个算法的时间复杂度是 O(n),其中 n 是数组的长度。因为需要遍历一遍数组,并且需要遍历数字 1 到数组中的最大值。空间复杂度是 O(n),其中 n 是数组的长度,用于存储哈希表。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接