Sobes.tech
Junior — Middle

Jak získat prvky původního pole, které v datech ve formě segmentu chybí?

sobes.tech AI

Odpověď od AI

Chcete-li extrahovat prvky z původního pole, které nejsou v jiné části, můžete použít mapu (map) pro rychlé vyhledávání a filtrování. Například pokud máte původní pole a část s prvky, které chcete vyloučit, vytvořte mapu z prvků této části, poté projděte původní pole a přidejte do výsledku pouze ty prvky, které v mapě nejsou.

Pří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 přístup je efektivní a snadno realizovatelný.