这道题没人回答是正常的,因为不知道你想问什么
function firstMissingPositive(nums) {
let n = nums.length;
for (let i = 0; i < n; i++) {
while (nums[i] > 0 && nums[i] <= n && nums[i] != nums[nums[i] - 1])
[nums[i], nums[nums[i] - 1]] = [nums[nums[i] - 1], nums[i]];
}
for (let i = 0; i < n; i++) {
if (nums[i] != i + 1) return i + 1;
}
return n + 1;
}
console.log(firstMissingPositive([2, 3, 4])); // 1
console.log(firstMissingPositive([1, 2, 3])); // 4
console.log(firstMissingPositive([8, 5, 7])); // 6
console.log(firstMissingPositive([-3, -2, -1])); // 1