本文主要是介绍LeetCode--41. First Missing Positive,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题链接:https://leetcode.com/problems/first-missing-positive/
问题要求在O(n)时间复杂度内完成,返回数组连续值序列中缺失的最小的正数,需要使用Bitmap这种数据结构来解决。不难理解,代码如下:
class Solution {public int firstMissingPositive(int[] nums) {if(nums.length==0)return 1;int max=Integer.MIN_VALUE;for(int i:nums)max=Math.max(max,i);BitSet set=new BitSet(max+1);for(int i:nums){if(i>0)set.set(i);}for(int i=1;i<=max;i++){if(!set.get(i))return i;}return max+1;}
}
这篇关于LeetCode--41. First Missing Positive的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!