题解 | #缺失的第一个正整数#
缺失的第一个正整数
https://www.nowcoder.com/practice/50ec6a5b0e4e45348544348278cdcee5
#include <unordered_map> class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型vector * @return int整型 */ // 先使用 哈希来坐下 这时当然空间复杂度还没达到进阶要求 int minNumberDisappeared(vector<int>& nums) { // write code here int n = nums.size(); if(n==0) { return 1; } unordered_map<int, int> mp; int m = 0; // 记录正整数的个数 for(int i=0; i<n; ++i) { mp[nums[i]]++; if(nums[i]>0) m++; } int ans; for(int i=1; i<=m; ++i) { if(!mp.count(i)) { ans = i; break; } } return ans; } };
自己的做法 额外使用哈希的空间