How to get unique values from two arrays in Go

1 Answer

0 votes
package main

import (
    "fmt"
    "sort"
)

func get_unique_values(arr1, arr2 []int) []int {
    set1 := make(map[int]bool)
    set2 := make(map[int]bool)
    result := []int{}

    for _, v := range arr1 {
        set1[v] = true
    }

    for _, v := range arr2 {
        set2[v] = true
    }

    for _, v := range arr1 {
        if !set2[v] {
            result = append(result, v)
        }
    }

    for _, v := range arr2 {
        if !set1[v] {
            result = append(result, v)
        }
    }

    sort.Ints(result)
    
    return result
}

func main() {
    arr1 := []int{1, 3, 6, 8, 12, 90}
    arr2 := []int{2, 3, 5, 6, 7, 8, 96}

    result := get_unique_values(arr1, arr2)
    fmt.Println(result)
}


/*
run:

[1 2 5 7 12 90 96]

*/

 



answered Feb 17, 2025 by avibootz

Related questions

1 answer 137 views
2 answers 135 views
1 answer 120 views
1 answer 109 views
1 answer 94 views
1 answer 92 views
1 answer 191 views
...