First Missing Positive【hard】

First Missing Positive【hard】_第1张图片

参考视频:https://www.youtube.com/watch?v=8DqewGsVNkI

解决法:【其实还不错】

设置一个boolean array, 每一个数对应一个position。 遍历一遍,如果碰到数的话就把boolean 里的position变成True。

然后再iterate boolean array一次,把第一个False的position+1返回。

负数在这里我们会无视,因为没有position是负数。

First Missing Positive【hard】_第2张图片

这边有一个问题他没讲到。 假设[1, 1000] 我们要return的是2.这里要加一个条件,如果数大于了array size的话,这个数之前肯定有东西miss。所以这个数跟负数一样也不考虑。

First Missing Positive【hard】_第3张图片


Better:

First Missing Positive【hard】_第4张图片


First Missing Positive【hard】_第5张图片

这个思路其实有一点绕,我2月的时候也是做过这题。但是由于思路太绕经常过几天就忘了


First Missing Positive【hard】_第6张图片

你可能感兴趣的:(First Missing Positive【hard】)