Sobes.tech
Senior

Pəncərənin bütün lazım olan simvolları ehtiva etdiyindən necə əmin olmaq olar?

sobes.tech Süni İntellekt

AI-dan cavab

Pəncərəni (məsələn, kəsim və ya sətir) bütün lazım olan simvolları ehtiva etdiyindən əmin olmaq üçün müxtəlif yanaşmalar istifadə oluna bilər. Ən yaygın olanlardan biri, hər tələb olunan simvolun pəncərədə olub-olmadığını yoxlamaq üçün xəritə (map) istifadə etməkdir, bu, sayma və ya boolean bayraqlar vasitəsilə edilə bilər.

Go dilində, requiredChars toplusundan bütün simvolları ehtiva etdiyini yoxlamaq üçün nümunə:

func containsAllChars(window string, requiredChars string) bool {
    needed := make(map[rune]bool)
    for _, ch := range requiredChars {
        needed[ch] = true
    }

    for _, ch := range window {
        if needed[ch] {
            delete(needed, ch)
        }
    }

    return len(needed) == 0
}

Bu kod lazım olan simvolların toplusunu yaradır və onları pəncərədə tapdıqca silir. Əgər sonunda toplusu boşdursa, bütün simvollar tapılmışdır.