资讯动态

LeetCode:缺失的第一个正数

发布时间:2026/10/3 22:15:43 来源:尧图企业网站定制
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中间通过循环将数字放到与数组下标对应的的位置最后循环找第一个缺失的正数。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑