LeetCode 268题:如何找出数组中缺失的数字?

2026-05-26 12:511阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计302个文字,预计阅读时间需要2分钟。

LeetCode 268题:如何找出数组中缺失的数字?

268. 找回丢失的数字排序后,如果排序完之后不存在缺失的数字,那么索引和值应该相等。因此,我们只需要找到第一个索引和值不相等的元素,就可以确定缺失的索引。这个索引代表的数字就是丢失的数字。


​​268. 丢失的数字​​

Ideas

先排序,排完序之后如果不缺失数字的话,索引和值应该是相等的,所以我们只需要找到第一个索引和值不相等的元素就可以了,说明缺失的是索引代表的值。

如果找到最后发现都没有对不上的,那说明缺失的是最后一个值。

LeetCode 268题:如何找出数组中缺失的数字?

Code

C++

class Solution {
public:
int missingNumber(vector<int>& nums) {
sort(nums.begin(), nums.end());
for (int i = 0; i < nums.size(); i++) {
if (i != nums[i]) {
return i;
}
}
return nums.size();
}
};

Python

class Solution:
def missingNumber(self, nums: List[int]) -> int:
nums.sort()
for i, v in enumerate(nums):
if i != v:
return i
return len(nums)



标签:

本文共计302个文字,预计阅读时间需要2分钟。

LeetCode 268题:如何找出数组中缺失的数字?

268. 找回丢失的数字排序后,如果排序完之后不存在缺失的数字,那么索引和值应该相等。因此,我们只需要找到第一个索引和值不相等的元素,就可以确定缺失的索引。这个索引代表的数字就是丢失的数字。


​​268. 丢失的数字​​

Ideas

先排序,排完序之后如果不缺失数字的话,索引和值应该是相等的,所以我们只需要找到第一个索引和值不相等的元素就可以了,说明缺失的是索引代表的值。

如果找到最后发现都没有对不上的,那说明缺失的是最后一个值。

LeetCode 268题:如何找出数组中缺失的数字?

Code

C++

class Solution {
public:
int missingNumber(vector<int>& nums) {
sort(nums.begin(), nums.end());
for (int i = 0; i < nums.size(); i++) {
if (i != nums[i]) {
return i;
}
}
return nums.size();
}
};

Python

class Solution:
def missingNumber(self, nums: List[int]) -> int:
nums.sort()
for i, v in enumerate(nums):
if i != v:
return i
return len(nums)



标签: