# 缺失的第一个正数

给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。

 

进阶:你可以实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案吗?

 

示例 1:

输入:nums = [1,2,0]
输出:
3

示例 2:

输入:nums = [3,4,-1,1]
输出:
2

示例 3:

输入:nums = [7,8,9,11,12]
输出:
1

 

提示:

## template ```java class Solution { public int firstMissingPositive(int[] nums) { int n = nums.length; int contains = 0; for (int i = 0; i < n; i++) { if (nums[i] == 1) { contains++; break; } } if (contains == 0) { return 1; } for (int i = 0; i < n; i++) { if ((nums[i] <= 0) || (nums[i] > n)) { nums[i] = 1; } } for (int i = 0; i < n; i++) { int a = Math.abs(nums[i]); nums[a - 1] = -Math.abs(nums[a - 1]); } for (int i = 0; i < n; i++) { if (nums[i] > 0) { return i + 1; } } return n + 1; } } ``` ## 答案 ```java ``` ## 选项 ### A ```java ``` ### B ```java ``` ### C ```java ```