R9-普通数组篇
class Solution {public int firstMissingPositive(int[] nums) {int n=nums.length;for (int i=0;i<n;i++){while(nums[i]>0&&nums[i]<=n&&nums[nums[i]-1]!=nums[i]){//交换nums[i]和nums[nums[i]-1]int temp =nums[nums[i]-1];nums[nums[i]-1]=nums[i];nums[i]=temp;}}//再次遍历数组,找到第一个索引i,使得nums[i]!=i+1for (int i=0;i<n;i++){if(nums[i]!=i+1){return i+1;}}//如果所有索引都被防止了对应的数字,那缺失的数字是n+1return n+1;}
}