classSolution(object): deffirstMissingPositive(self, nums): """ :type nums: List[int] :rtype: int """ n = len(nums) for i in xrange(n): while nums[i] > 0and nums[i] <= n and nums[i] != i + 1: if nums[i] == nums[nums[i] - 1]: break a = nums[i] nums[i] = nums[a - 1] nums[a - 1] = a
i = 0 while i < len(nums) and nums[i] == i + 1: i += 1 return i + 1