Sobes.tech
Back to questions
Senior
2

Как быстро проверить, что в окне есть все символы (сравнение двух map)?

Companies where asked
Яндекс

Answer from AI

sobes.tech AI

Чтобы быстро проверить, что в одном map (окне) есть все символы из другого map, можно сравнить ключи и их количества. В Go это можно сделать так:

func containsAll(window, chars map[rune]int) bool {
    for k, v := range chars {
        if window[k] < v {
            return false
        }
    }
    return true
}

Здесь window — map с символами и их количеством в окне, chars — map с символами, которые должны быть в окне. Функция возвращает true, если для каждого символа из chars в window его количество не меньше.