Подгрупп Проверка с помощью целочисленных срезов в Go с помощью map
определение, является ли один срез цетких целых. В этой статье представлено решение, которое использует карту для оптимизации проверки.
определение подмножения
Slice считается подмножеством другого, если он содержит все элементы последнего, с возможным включением дублирования. For instance, {1, 2, 3} is a subset of {1, 2, 3, 4}, while {1, 2, 2} is not a subset of {1, 2, 3, 4}.
Map-Based Implementation
The provided solution employs a map to efficiently determine if a slice is a subset. Он строит карту со второго среза, причем счет каждого элемента является значением. Впоследствии он итерации проходит через первый срез и проверяет наличие каждого элемента на карте. Если все элементы найдены с достаточными дубликатами, первый срез считается подмножеством. // подмножество возвращает true, если первый массив полностью // содержится во втором массиве. Должно быть хотя бы // такое же количество дублирующих значений на втором, что и там // в первую очередь. Func Submet (First, Second [] int) bool { SET: = MAKE (MAP [int] int) Для _, значение: = диапазон второй { установить [значение] } для _, значение: = диапазон первого { Если счет, OK: = SET [значение]; !хорошо { вернуть ложь } else, если count
output
import "fmt"
// subset returns true if the first array is completely
// contained in the second array. There must be at least
// the same number of duplicate values in second as there
// are in first.
func subset(first, second []int) bool {
set := make(map[int]int)
for _, value := range second {
set[value]
}
for _, value := range first {
if count, ok := set[value]; !ok {
return false
} else if count Заключение
это решение на основе карты эффективно определяет, является ли один целый ряд срезом другим, обработка потенциальных дубликатов. Он обеспечивает оптимизированный подход к решению этой общей проблемы в Go. ]
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3