Sobes.tech
Senior

Hogyan ellenőrizhető, hogy az ablak tartalmazza az összes szükséges karaktert?

sobes.tech MI

Válasz az MI-től

Egy ablak (például egy vágás vagy sor) összes szükséges karakterének ellenőrzéséhez több megközelítés is alkalmazható. Az egyik legelterjedtebb, hogy minden szükséges karakter jelenlétét ellenőrizzük az ablakban egy térkép (map) segítségével, amely számol vagy boolean zászlókat használ.

Példa Go nyelven, ahol ellenőrizni kell, hogy a szöveg tartalmazza-e az összes requiredChars karaktert:

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
}

Ez a kód létrehoz egy szükséges karakterek halmazát, majd azok eltávolításra kerülnek, amint megtalálja őket az ablakban. Ha a végén a halmaz üres, akkor minden karakter megtalálásra került.