El surtido de los proveedores
- O(n log n) · Difícil
- Plan completo
- Python
- JavaScript
- conjuntos
- listas
- ordenar
Enunciado
Don Ramiro surte su ferretería con varios proveedores, y cada uno le deja su catálogo. Antes de hacer el pedido quiere ver qué artículos le puede comprar a cualquiera de ellos: esos nunca le van a faltar en el mostrador.
Escribe una función que reciba catalogos, una lista donde cada elemento es el catálogo de un proveedor: una lista de artículos escritos en minúsculas y sin acentos. Un catálogo puede repetir un artículo y puede venir vacío. Regresa la lista de los artículos que están en todos los catálogos, en orden alfabético y sin repetir ninguno.
Con tres catálogos, ["clavo", "martillo", "cinta"], ["cinta", "clavo", "brocha"] y ["clavo", "cinta", "taladro"], el clavo y la cinta están en los tres, y el martillo, la brocha y el taladro solo en uno: regresas ["cinta", "clavo"].
Si ningún artículo está en todos los catálogos, o si no llegó ningún catálogo, regresas una lista vacía.
Ejemplos
El ejemplo
[["clavo", "martillo", "cinta"], ["cinta", "clavo", "brocha"], ["clavo", "cinta", "taladro"]] → ["cinta", "clavo"]
Nada en común
[["clavo", "lija"], ["brocha", "cable"]] → []
Un solo catálogo
[["taladro", "brocha", "taladro"]] → ["brocha", "taladro"]
Un artículo repetido en el mismo catálogo
[["cinta", "cinta", "clavo"], ["clavo", "cinta"]] → ["cinta", "clavo"]
Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.
Empiezas con esto
Python
def surtido_comun(catalogos):
passJavaScript
function surtidoComun(catalogos) {
}Se abre en el navegador, con el editor y las pruebas. Este reto es del plan completo; los de O(1) y O(log n) son gratis.