Junior — Middle
Ako extrahovať prvky pôvodného poľa, ktoré v údajoch vo forme segmentu chýbajú?
sobes.tech AI
Odpoveď od AI
Ak chcete extrahovať prvky z pôvodného poľa, ktoré nie sú v inom reze, môžete použiť mapu (mapu) pre rýchle vyhľadávanie a filtrovanie. Napríklad, ak máte pôvodné pole a rez s prvkami, ktoré je potrebné vylúčiť, vytvorte mapu z prvkov rezu, potom prejdite pôvodné pole a pridajte do výsledku iba tie prvky, ktoré nie sú v mape.
Príklad v 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)) // Výstup: [1 3 5]
}
Tento prístup je efektívny a ľahko realizovateľný.