LeetCode第四十一题-寻找数组中的最小的缺失正整数

First Missing Positive

问题简介:给定一个未排序的整数数组,找到最小的缺失正整数

注:

1.要求时间复杂度为o(n)并且只用恒定的空间

举例:

1:

输入: [1,2,0]

输出: 3

2:

输入: [3,4,-1,1]

输出: 2

3:

输入: [7,8,9,11,12]

输出: 1

解法一:

先将数组排序,当排序后的数组的最后一个元素为负或为0即缺失的为1,定义一个目标target先定义为1,遍历数组,在遍历过程中将数组值与目标值比较是否相等,即target从最小正整数1开始增长

复杂度分析:

时间复杂度:o(n)只遍历一遍数组即可

空间复杂度:o(1)使用恒定的空间

小白刷题之路,请多指教— — 要么大器晚成,要么石沉大海

posted @ 2019-05-18 09:39  啦啦a德玛西亚  阅读(857)  评论(0编辑  收藏  举报