Назад к вопросам
Junior — Middle
82
Как извлечь элементы исходного массива, которые отсутствуют в данных в виде среза?
Ответ от нейросети
sobes.tech AI
Чтобы извлечь из исходного массива элементы, которых нет в другом срезе, можно использовать карту (map) для быстрого поиска и фильтрации. Например, если есть исходный массив и срез с элементами, которые нужно исключить, создаём map из элементов среза, затем перебираем исходный массив и добавляем в результат только те элементы, которых нет в 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)) // Output: [1 3 5]
}
Такой подход эффективен и прост в реализации.