leetcode268. Missing Number

文章目录

一、题目

Given an array nums containing n distinct numbers in the range [0, n], return the only number in the range that is missing from the array.

Example 1:

Input: nums = [3,0,1]

Output: 2

Explanation: n = 3 since there are 3 numbers, so all numbers are in the range [0,3]. 2 is the missing number in the range since it does not appear in nums.

Example 2:

Input: nums = [0,1]

Output: 2

Explanation: n = 2 since there are 2 numbers, so all numbers are in the range [0,2]. 2 is the missing number in the range since it does not appear in nums.

Example 3:

Input: nums = [9,6,4,2,3,5,7,0,1]

Output: 8

Explanation: n = 9 since there are 9 numbers, so all numbers are in the range [0,9]. 8 is the missing number in the range since it does not appear in nums.

Constraints:

n == nums.length

1 <= n <= 104

0 <= nums[i] <= n

All the numbers of nums are unique.

Follow up: Could you implement a solution using only O(1) extra space complexity and O(n) runtime complexity?

二、题解

使用哈希表的方法解决

cpp 复制代码
class Solution {
public:
    int missingNumber(vector<int>& nums) {
        unordered_map<int,int> map;
        int n = nums.size();
        for(int i = 0;i < n;i++) map[nums[i]] = 1;
        for(int i = 0;i <= n;i++){
            if(!map.count(i)) return i;
        }
        return 0;
    }
};
相关推荐
兩尛1 分钟前
C++面向对象和类相关
java·c++·面试
MegaDataFlowers13 分钟前
3.无重复字符的最长子串
算法
凯瑟琳.奥古斯特13 分钟前
C++变量命名进阶技巧
开发语言·c++
人道领域19 分钟前
【LeetCode刷题日记】20.有效的括号
算法·leetcode·职场和发展
生信研究猿19 分钟前
#P3492.第1题-基于决策树预判资源调配优先级
python·算法·决策树
贾斯汀玛尔斯21 分钟前
每天学一个算法--缓存淘汰策略(LRU / LFU · 结构与复杂度)
算法·缓存
大熊背25 分钟前
一套为硬件加速设计的经典边缘检测流水线(一)----边缘细化原理
人工智能·算法·计算机视觉·梯度计算
MicroTech202525 分钟前
微算法科技(NASDAQ :MLGO)基于线检测掩模的量子算法与新型增强量子表示(NEQR)技术
科技·算法·量子计算
沉默金鱼1 小时前
读书笔记——U3D高级编程:主程手记——第二章2.2List底层源码
数据结构·list
yongui478341 小时前
NSGA-II求解多目标柔性作业车间调度算法(含甘特图绘制)
算法·甘特图