class Solution { public: int firstMissingPositive(vector& nums) { int n = nums.size(); int ans = n + 1; vector l(n + 1, 0); for (int i = 0; i < n; i++) { if (nums[i] <= 0 || nums[i] > n) l[n] = 1; else l[nums[i] - 1] = 1; } for (int i = 0; i < n; i++) { if (l[i] == 0) { ans = i + 1; break; } } return ans; } };