leetcode first missing positive - todo uses constant space