题目
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.
题意
主要是限制时间复杂度和空间复杂度
先将正负分开,对正数进行分析,正常情况下是下标值+1等于元素值,如果元素值-1后大于数组长度,则遍历下一个元素,否则直到该元素满足条件,才遍历下一个元素;最后找出第一个缺失的元素即可,时间复杂度为O(n)
关于重复的元素解决问题我是使用了set
python实现
|
|