Sobes.tech
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.