编写一个 Go 语言程序在给定数组中查找重复元素


示例

  • 输入数组 = [1, 3, 5, 6, 1] => 重复元素为 1;
  • 输入数组 = [1, 3, 5, 6, 7] => 返回 -1

解决此问题的解决方法

  • 步骤 1:定义一个接受数组的方法。
  • 步骤 2:声明一个已访问映射。
  • 步骤 3:迭代给定的数组。如果元素存在于已访问映射中,则返回该元素。
  • 步骤 4:否则,返回 -1。

程序

在线演示

package main
import "fmt"
func duplicateInArray(arr []int) int{
   visited := make(map[int]bool, 0)
   for i:=0; i<len(arr); i++{
      if visited[arr[i]] == true{
         return arr[i]
      } else {
         visited[arr[i]] = true
      }
   }
   return -1
}

func main(){
   fmt.Println(duplicateInArray([]int{1, 4, 7, 2, 2}))
   fmt.Println(duplicateInArray([]int{1, 4, 7, 2, 3}))
}

输出

2
-1

更新于: 04-Feb-2021

5K+ 次浏览

开启您的 职业生涯

通过完成课程获得认证

开始
广告