LeetCode:缺失的第一个正数

张开发
2026/4/17 3:58:21 15 分钟阅读

分享文章

LeetCode:缺失的第一个正数
class Solution { public int firstMissingPositive(int[] nums) { int n nums.length; for(int i 0; i n; i){ //nums[i] ! nums[nums[i] - 1]防止陷入死循环 while(nums[i] 0 nums[i] n nums[i] ! nums[nums[i] - 1]){ int temp nums[nums[i] - 1]; nums[nums[i] - 1] nums[i]; nums[i] temp; } } for(int i 0; i n; i){ if(nums[i] ! i1){ return i 1; } } return n 1; } }如果有n个数字缺失的第一个正数一定是1到n1中间通过循环将数字放到与数组下标对应的的位置最后循环找第一个缺失的正数。

更多文章