Operasi persimpangan tatasusunan di Golang boleh dilaksanakan melalui jadual cincang, isihan atau set. Menggunakan jadual cincang, simpan elemen tatasusunan pertama dalam jadual cincang dan kemudian ulangi tatasusunan kedua Jika elemen itu wujud dalam jadual cincang, ia tergolong dalam persimpangan. Menggunakan isihan, susun kedua-dua tatasusunan dan kemudian gunakan traversal penunjuk berganda untuk membandingkan elemen dan mencari padanan. Menggunakan set, tambahkan elemen tatasusunan pertama pada set, kemudian ulangi tatasusunan kedua, dan jika elemen itu tergolong dalam set, ia tergolong dalam persimpangan.
Cara melaksanakan operasi persilangan tatasusunan di Golang
Operasi persilangan memperoleh elemen yang muncul serentak dalam dua set. Artikel ini akan memperkenalkan cara melaksanakan operasi persilangan tatasusunan di Golang dan menyediakan kes praktikal untuk menunjukkan langkah pelaksanaan khusus.
Kaedah
Tiada fungsi operasi persimpangan terbina dalam di Golang, jadi kami perlu melaksanakannya sendiri. Berikut ialah beberapa pelaksanaan biasa:
map
atau set
), tambahkan elemen tatasusunan pertama pada koleksi, dan kemudian ulangi tatasusunan kedua , menyemak sama ada setiap elemen tergolong dalam set. map
或 set
),将第一个数组的元素添加到集合中,然后遍历第二个数组,检查每个元素是否属于集合。实战案例:
假设我们有两个数组:arr1
和 arr2
Kes praktikal:
Katakan kita mempunyai dua tatasusunan:arr1
dan arr2
. Kita perlu mencari persimpangan mereka. func intersection(arr1, arr2 []int) []int { // 使用哈希表方法 hash := make(map[int]bool) for _, v := range arr1 { hash[v] = true } result := []int{} for _, v := range arr2 { if hash[v] { result = append(result, v) } } return result } func main() { arr1 := []int{1, 2, 3, 4, 5} arr2 := []int{3, 4, 5, 6, 7} fmt.Println(intersection(arr1, arr2)) // 输出:[3, 4, 5] }
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan operasi persilangan tatasusunan di Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!