问题描述
给定一个无序数组arr,找到数组中未出现的最小正整数
例如arr = [-1, 2, 3, 4]。返回1
arr = [1, 2, 3, 4]。返回5
输入描述:
输入一个数组
输出描述:
输出数组中未出现的最小正整数
示例
示例1
输入
[-1, 2, 3, 4]
输出
1
解决思路
分析
- 通过遍历数组的方式查找最小的正整数,可以事先添加正整数变量,方便判断 。
方法
- 通过遍历数组的方式查找最小的正整数,可以事先添加正整数变量,方便判断 。
代码实现
// 思路1
public class Solution {
public int minNumberdisappered (int[] arr) {
// write code here
int temp = 1;
for (int i = 0; i < arr.length; i++) {
if (arr[i] == temp) {
temp++;
}
}
return temp;
}
}
时间复杂度分析:
O(N):遍历数组
空间复杂度分析:
O(1):没有使用额外的空间
小伙伴如果想测试的话,可以直接到牛客网这个链接做测试