package main
import (
"fmt"
"slices"
)
func findDuplicates(arr []int) []int {
appearance := make(map[int]bool)
duplicates := []int{}
for _, num := range arr {
if appearance[num] && !slices.Contains(duplicates, num) {
duplicates = append(duplicates, num)
} else {
appearance[num] = true
}
}
return duplicates
}
func main() {
arr := []int{1, 2, 3, 2, 2, 4, 4, 4, 4, 3, 5, 6, 3}
fmt.Println(findDuplicates(arr))
}
/*
run:
[2 4 3]
*/