问题
例子
思路
-
方法1
众神归位
-
方法2
代码
//方法1
class Solution {
public int firstMissingPositive(int[] nums) {
if(nums.length==0) return 1;
int i=0;
while(i<nums.length) {
int index = nums[i];
if(index>=0 && index<=nums.length-1 && nums[index]!=index) {
nums[i]=nums[index];
nums[index]=index;
}else{
i++;
}
}
for(int j=1; j<nums.length; j++) {
if(nums[j]!=j) return j;
}
return nums[0]==nums.length?nums.length+1:nums.length;
}
}
//方法2