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
}