Menu
Coddy logo textTech

Verificando Subconjuntos

Parte da seção Lógica e Fluxo do Journey de Kotlin da Coddy. Lição 14 de 63.

available.containsAll(required) verifica se todos os elementos necessários estão disponíveis. Entradas duplicadas em uma lista de elementos necessários não exigem várias cópias, pois esta é uma verificação de pertencimento. Uma coleção required vazia está sempre contida.

Dentro de main:

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

Ambos os requisitos pedem a mesma associação, que está disponível.

containsAll verifica a associação, não quantas cópias estão disponíveis.

challenge icon

Desafio

Médio

Complete canCover com os parâmetros available: List<String>, required: List<String>. Retorne se cada item necessário está presente entre os itens disponíveis. Este é um problema de pertinência, não um problema de quantidade.

A menos que limites mais rigorosos sejam especificados acima, as coleções contêm no máximo 100 elementos em cada nível, e os argumentos inteiros e os valores inteiros das coleções estão entre -1000 e 1000. O texto fornecido para análise pode incluir representações inválidas ou fora do intervalo, conforme descrito.

Retorne um valor do tipo Boolean. Mantenha o código de entrada/saída fornecido. Ele lê argumentos escalares, um por linha; uma lista começa com sua quantidade, seguida por seus elementos, e um mapa começa com sua quantidade de entradas, seguida por cada chave e valor. Listas aninhadas repetem o formato de quantidade e elementos para cada linha. O main fornecido imprime o valor retornado seguido por uma quebra de linha. As listas usam o formato padrão entre colchetes do Kotlin; não imprima rótulos adicionais.

Experimente você mesmo

fun canCover(available: List<String>, required: List<String>): Boolean {
    // Escreva sua solução aqui.
    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 seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Lógica e Fluxo

Pratique por conta própria: Playground de Kotlin