请设计一个高效算法,查找数组中未出现的最小正整数。
给定一个整数数组A和数组的大小n,请返回数组中未出现的最小正整数。保证数组大小小于等于500。
测试样例:
[-1,2,3,4],4
返回:1
class ArrayMex: def findArrayMex(self, A, n): i = 0 items = A for j in xrange(n): if n >= items[j] > 0: items[i] = items[j] i += 1 for k in xrange(i): v = abs(items[k]) items[v - 1] = - abs(items[v - 1]) for w in xrange(i): if items[w] > 0: return w + 1 return i + 1