牛客题霸 NC30 数组中未出现的最小正整数
生活随笔
收集整理的這篇文章主要介紹了
牛客题霸 NC30 数组中未出现的最小正整数
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
解決方案
Go
版本一
func minNumberdisappered(arr []int) int {// write code heren := len(arr)for i := 0; i < n; i++ {for arr[i] > 0 && arr[i] <= n && arr[arr[i]-1] != arr[i] {arr[arr[i]-1], arr[i] = arr[i], arr[arr[i]-1]}}for i := 0; i < n; i++ {if arr[i] != i+1 {return i + 1}}return n + 1 }版本二
func minNumberdisappered_2(arr []int) int {n := len(arr)for i := 0; i < n; i++ {if arr[i] <= 0 {arr[i] = n + 1}}for i := 0; i < n; i++ {num := abs(arr[i])if num <= n {arr[num-1] = -abs(arr[num-1])}}for i := 0; i < n; i++ {if arr[i] > 0 {return i + 1}}return n + 1 }func abs(x int) int {if x < 0 {return -x}return x }參考文章
總結(jié)
以上是生活随笔為你收集整理的牛客题霸 NC30 数组中未出现的最小正整数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 牛客题霸 NC29 二维数组中的查找
- 下一篇: 网易2022秋季校园招聘-通用技术A卷-