Given an unsorted integer array, find the first missing positive integer.
For example,
Given [1,2,0] return 3,
and [3,4,-1,1] return 2.
Your algorithm should run in O(n) time and uses constant space.
package com.wyt.leetcodeOJ;
import java.util.HashMap;
import java.util.Map;
public class FirstMissingPositive {
public static void main(String[] args) {
int[] A = {3,4,-1,1};
System.out.println(firstMissingPositive(A));
}
public static int firstMissingPositive(int[] A) {
if(A == null || A.length == 0) {
return 1;
}
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
for (int i = 0; i < A.length; i++) {
if (!map.containsValue(A[i])) {
map.put(A[i], A[i]);
}
}
int result = 1;
while (map.get(result)!=null) {
result++;
}
return result;
}
}
本文介绍了一种算法,用于在一个未排序的整数数组中找到第一个缺失的正整数。算法运行时间复杂度为O(n),且使用常量空间。
274

被折叠的 条评论
为什么被折叠?



