lotus

贵有恒何必三更眠五更起 最无益只怕一日曝十日寒

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

1. 题目

读题

 

 

 

考查点

 

2. 解法

思路

 

代码逻辑

 

具体实现

解法一:

public class Solution {

public static void main(String[] args) {
System.out.println(solution(new int[]{1, 3, 6, 4, 1, 2}));
System.out.println(solution(new int[]{1, 2, 3}));
System.out.println(solution(new int[]{-1,-3}));
}


public static int solution(int[] A) {
for (int i = 1; i < Integer.MAX_VALUE; i++) {
if (!contain(A, i)) {
return i;
}
}
return -1;
}

public static boolean contain(int[] nums, int n) {
for (int i = 0; i < nums.length; i++) {
if (nums[i] == n) {
return true;
}
}
return false;
}

}

解法二:

public class Solution2 {
public static void main(String[] args) {
System.out.println(solution(new int[]{1, 3, 6, 4, 1, 2}));
System.out.println(solution(new int[]{1, 2, 3}));
System.out.println(solution(new int[]{-1, -3}));
}


public static int solution(int[] A) {
Arrays.sort(A);

int n = A.length;

if (A[n - 1] < 0) {
return 1;
}

int index = 1;
for (int i = 0; i < n; i++) {
if (A[i] <= 0 || (i > 0 && A[i] == A[i - 1])) {
continue;
}
if (A[i] == index) {
index++;
} else {
return index;
}

}
return index;
}

}

3. 总结

posted on 2023-07-21 11:53  白露~  阅读(28)  评论(0编辑  收藏  举报