Junior — Middle
Kako izvući elemente originalnog niza koji nisu prisutni u podacima u obliku segmenta?
sobes.tech АИ
Одговор од АИ
Da biste izdvojili elemente iz originalnog niza koji nisu u drugom segmentu, možete koristiti mapu (map) za brzo pretraživanje i filtriranje. Na primer, ako imate originalni niz i segment sa elementima koje treba isključiti, napravite mapu od elemenata segmenta, zatim prođite kroz originalni niz i dodajte u rezultat samo one elemente koji nisu u mapi.
Primer u Go:
package main
import "fmt"
func difference(arr []int, exclude []int) []int {
excludeMap := make(map[int]bool)
for _, v := range exclude {
excludeMap[v] = true
}
var result []int
for _, v := range arr {
if !excludeMap[v] {
result = append(result, v)
}
}
return result
}
func main() {
arr := []int{1, 2, 3, 4, 5}
exclude := []int{2, 4}
fmt.Println(difference(arr, exclude)) // Izlaz: [1 3 5]
}
Ovaj pristup je efikasan i lako se implementira.