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]
}
Այս մոտեցումը արդյունավետ է և հեշտ է իրականացնել։