CommonItems

Run Settings
LanguageGo
Language Version
Run Command
// are there common items between the two arrays // input: [1, 2, 3, 4], [2, 6, 7] -> Output: true // input: [1, 2, 3, 4], [9, 6, 7] -> Output: false // input: [1, 2, 3, 4], [] -> Output: false // input: [], [] -> Output: false package main import ( "fmt" ) func getOccurenceMap [T comparable](arr []T) map[T]int { occurenceMap := make(map[T]int) for _, ele := range arr { count := occurenceMap[ele] updatedCount := count + 1 occurenceMap[ele] = updatedCount } return occurenceMap } func checkCommonality [T comparable](arr1, arr2 []T) bool { if (len(arr1) == 0 || len(arr2) == 0) { return false } // Create occurerence hash map for one array occArr2 := getOccurenceMap(arr2) // Iterate through 1 hash map and check for hits in the other map for _, ele := range arr1 { _, exists := occArr2[ele] if (exists) { return true } } return false } func main() { // False cases fmt.Println(checkCommonality([]int{1, 2, 2, 4}, []int{5, 6}) == false) fmt.Println(checkCommonality([]string{}, []string{"a", "b"}) == false) fmt.Println(checkCommonality([]string{}, []string{}) == false) // True cases fmt.Println(checkCommonality([]int{1, 2, 2, 4}, []int{5, 6, 1}) == true) }
Editor Settings
Theme
Key bindings
Full width
Lines