- public class Solution {
- public int firstMissingPositive(int[] A) {
- if (A == null || A.length < 1) return 1;
- //把小于等于A.length的正数A[i]放到第A[i]-1个位置上
- for (int i = 0; i < A.length; i++) {
- while (A[i] > 0 && A[i] <= A.length && A[A[i] - 1] != A[i]) {
- int tmp = A[A[i] - 1];
- A[A[i] - 1] = A[i];
- A[i] = tmp;
- }
- }
- for (int i = 0; i < A.length; i++) {
- if (A[i] != i + 1) {
- return i + 1;
- }
- }
- return A.length + 1;
- }
- }
【LeetCode】First Missing Positive 解题报告
最新推荐文章于 2019-01-13 06:58:39 发布