Sobes.tech
Junior — Middle

Ինչպե՞ս հանել սկզբնական զանգվածի տարրերը, որոնք բացակայում են տվյալների մեջ հատվածի տեսքով։

sobes.tech AI

Պատասխան AI-ից

Որպեսզի հանեք սկզբնական զանգվածից այն տարրերը, որոնք չեն գտնվում մյուս կտորում, կարող եք օգտագործել քարտեզ (map) արագ որոնում և ֆիլտրելու համար: Օրինակ, եթե ունեք սկզբնական զանգված և կտոր, որտեղից պետք է բացառել տարրերը, ստեղծեք քարտեզ կտորից տարրերից, ապա անցեք սկզբնական զանգվածով և ավելացրեք արդյունքին միայն այն տարրերը, որոնք չեն քարտեզում:

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)) // Արդյունք: [1 3 5]
}

Այս մոտեցումը արդյունավետ է և հեշտ է իրականացնել։