Junior — Middle
Kuidas välja võtta algse massiivi elemendid, mis ei ole segmentidena andmetes?
sobes.tech AI
Vastus AI-lt
Algoritm, mis eraldab algsest massiivi elemente, mis ei ole teises lõigus, kasutab kiire otsingu ja filtreerimise jaoks kaarti (map). Näiteks, kui teil on algne massiiv ja lõik, millest soovite elemente välja jätta, looge kaardist lõigu elementidest, seejärel läbige algne massiiv ja lisage tulemusele ainult need elemendid, mis ei ole kaardil.
Näide Go keeles:
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äljund: [1 3 5]
}
See lähenemine on tõhus ja lihtne rakendada.