package main import "fmt" /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型一维数组 * @return int整型 */ func minNumberDisappeared( nums []int ) int { arr := nums n := len(arr) //负数 =》n+1 for i := 0; i < n; i++ { if arr[i] <= 0 { arr[i] = n + 1 } } //判断数据是否大于n,不大于则转为负数 for i := 0; i < n; i++ { num := abs(arr[i]) if num <= n { arr[num-1] = -abs(arr[num-1]) } } fmt.Printf("fill arr: %v\n", arr) //遍历arr数组,查看是否有大于0的数,有则i+1 for i := 0; i < n; i++ { if arr[i] > 0 { return i + 1 } } //否则返回n + 1 return n + 1 } func abs(num int) int { if num < 0 { return -num } return num }