Menu
Coddy logo textTech

Teilmenge prüfen

Teil des Abschnitts Logik & Ablauf der Kotlin-Journey von Coddy. Lektion 14 von 63.

available.containsAll(required) prüft, ob jedes erforderliche Element verfügbar ist. Doppelte Einträge in einer Liste der erforderlichen Elemente erfordern keine mehreren Kopien, da es sich um eine Mitgliedschaftsprüfung handelt. Eine leere erforderliche Sammlung ist immer enthalten.

In main:

val available = setOf("pen", "pad")
println(available.containsAll(listOf("pen", "pen")))

Beide Anforderungen beziehen sich auf dieselbe Zugehörigkeit, die verfügbar ist.

containsAll prüft die Zugehörigkeit, nicht, wie viele Exemplare verfügbar sind.

challenge icon

Aufgabe

Mittel

Vervollständige canCover mit den Parametern available: List<String>, required: List<String>. Gib zurück, ob jedes erforderliche Element unter den verfügbaren Elementen vorhanden ist. Dies ist ein Mitgliedschaftsproblem, kein Mengenproblem.

Sofern oben keine strengeren Grenzen angegeben sind, enthalten Sammlungen auf jeder Ebene höchstens 100 Elemente, und ganzzahlige Argumente sowie ganzzahlige Sammlungswerte liegen zwischen -1000 und 1000. Zum Parsen bereitgestellter Text kann ungültige oder außerhalb des Bereichs liegende Darstellungen enthalten, wie beschrieben.

Gib einen Wert vom Typ Boolean zurück. Behalte den bereitgestellten Ein-/Ausgabecode bei. Er liest skalare Argumente jeweils in einer eigenen Zeile; eine Liste beginnt mit ihrer Anzahl, gefolgt von ihren Elementen, und eine Map beginnt mit ihrer Anzahl von Einträgen, gefolgt von jedem Schlüssel und Wert. Verschachtelte Listen wiederholen für jede Zeile das Format aus Anzahl und Elementen. Das bereitgestellte main gibt den Rückgabewert gefolgt von einem Zeilenumbruch aus. Listen verwenden das standardmäßige eckige Kotlin-Format; gib keine zusätzlichen Bezeichnungen aus.

Probier es selbst

fun canCover(available: List<String>, required: List<String>): Boolean {
    // Schreibe deine Lösung hier.
    return false
}
fun main() {
    val availableCount = readln().toInt()
    val available = mutableListOf<String>()
    for (i0 in 0 until availableCount) {
        val availableItem = readLine().orEmpty()
        available.add(availableItem)
    }
    val requiredCount = readln().toInt()
    val required = mutableListOf<String>()
    for (i0 in 0 until requiredCount) {
        val requiredItem = readLine().orEmpty()
        required.add(requiredItem)
    }
    println(canCover(available, required))
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik & Ablauf

Übe selbstständig: Kotlin-Playground