缺失一个正数
给定一个未排序的整数数组,找出其中没有出现的最小的正整数。
示例 1:
输入: [1,2,0]
输出: 3
示例 2:
输入: [3,4,-1,1]
输出: 2
示例 3:
输入: [7,8,9,11,12]
输出: 1
你的算法的时间复杂度应为O(n),并且只能使用常数级别的空间。
/** * @param {number[]} nums * @return {number} */ function comp(a,b){ return a-b; } var firstMissingPositive = function(nums) { nums.sort(comp); if(nums.length==0||nums[0]>1||nums[nums.length-1]<=0){ return 1; } let left =0; if(nums[0]<0){ while(left<nums.length&&nums[left]<0) left++; if(nums[left]>1){ return 1; } } for(var i=left;i<nums.length;i++){ if(nums[i]==nums[i+1]) continue; if(nums[i]+1!=nums[i+1]){ if(nums[i]+1>0) return nums[i]+1; } } return nums[nums.length-1]+1; };
实现方式:没有使用任何算法
var firstMissingPositive = function(nums) { for(var i = 1; i > 0; i ++) { if(nums.indexOf(i) < 0) { return i; } } };
来源:https://leetcode-cn.com/u/bei-jing-xia-yu-liao/
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/first-missing-positive
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。