题解 | #数组# #缺失的第一个正整数#
缺失的第一个正整数
https://www.nowcoder.com/practice/50ec6a5b0e4e45348544348278cdcee5
#coding:utf-8 # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param nums int整型一维数组 # @return int整型 # class Solution: def minNumberDisappeared(self , nums ): # write code here #思路: ##1、维护一个数组, [0, 1, 2, ..., n] ##2、如果数k出现,就给数组的[k] 标记为1,然后找没有被置1的那个数。 ##如果全部出现就是n + 1没出现 ##init n = len(nums) flag_arr = [0 for i in range(0, n + 1)] print ("Flag arr len: ", len(flag_arr)) ##process for i in range(0, n): cur_val = nums[i] if cur_val > 0 and cur_val <= n: flag_arr[cur_val] = 1 print ("Flag arr: ", flag_arr) target = n + 1 for i in range(1, n + 1): if flag_arr[i] != 1: target = i break return target