Smallest Missing Positive Integer Leetcode 1501