AcWing 13. 找出数组中重复的数字
原题链接
简单
作者:
湫
,
2020-09-14 09:46:32
,
所有人可见
,
阅读 714
Go map解法
Go 代码
方法一
func duplicateInArray(nums []int) int {
var mp map[int]int
var length = len(nums)
mp = make(map[int]int,10)
for i := range nums{
if (nums[i]> length-1 || nums[i]<0){
return -1
}
}
for i := range nums{
mp[nums[i]]++
if mp[nums[i]] > 1{
return nums[i]
}
}
return -1
}
方法二
func duplicateInArray(nums []int) int {
l := len(nums)
for _,v := range nums{
if v > l-1 || v< 0{
return -1
}
}
for i,v := range nums{
if i == v {
continue
}else if nums[v]!=v{
nums[v],nums[i]=nums[i],nums[v]
}else if nums[v]==v{
return v
}
}
return -1
}