Verifique o subconjunto com as fatias inteiras em Go usando o map
determinar se uma fatia de números inteiros é um subconjunto de outro requer uma solução eficiente além da iteração simples. Este artigo apresenta uma solução que utiliza um mapa para otimizar a verificação. Por exemplo, {1, 2, 3} é um subconjunto de {1, 2, 3, 4}, enquanto {1, 2, 2} não é um subconjunto de {1, 2, 3, 4}. Ele constrói um mapa a partir da segunda fatia, com a contagem de cada elemento como o valor. Posteriormente, itera pela primeira fatia e verifica a presença de cada elemento no mapa. Se todos os elementos forem encontrados com duplicatas suficientes, a primeira fatia será considerada um subconjunto. // subconjunta retorna true se a primeira matriz estiver completamente // contido na segunda matriz. Deve haver pelo menos // o mesmo número de valores duplicados em segundo // estão em primeiro lugar. subconjunto func (primeiro, segundo [] int) bool { set: = make (map [int] int) para _, valor: = range segundo { Definir [valor] } para _, valor: = intervalo primeiro { Se contagem, ok: = set [value]; !OK { retornar falso } else se contar
output
true false
conclusão
Esta solução baseada em mapa determina com eficiência se uma fatia inteira é um subconjunto de outro, lidando com potenciais valores duplicados. Ele fornece uma abordagem otimizada para resolver esse problema comum em go.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3