Saltar al contenido

Las cepas más parecidas

Enunciado

Diego acaba de secuenciar varias cepas del mismo virus. Si dos se distinguen muy poco, quizá vienen del mismo brote, así que quiere saber qué tan cerca están las dos más parecidas.

Cada cepa es un texto de A, C, G y T, y todas tienen el mismo largo. La distancia entre dos cepas es cuántas posiciones tienen letra distinta: "ACGT" y "AGGA" difieren en la 1 y en la 3, y dan 2. Escribe una función que reciba la lista de cepas (al menos dos) y regrese, como entero, la menor distancia entre dos cepas que estén en lugares distintos de la lista. Una cepa no se compara consigo misma, pero si dos lugares traen el mismo texto, su distancia es 0.

Con ["ACGT", "TCGA", "TGGA"]: la primera y la segunda dan 2, la primera y la tercera dan 3, y la segunda y la tercera dan 1. Regresas 1.

Ejemplos

  • El ejemplo

    ["ACGT", "TCGA", "TGGA"] → 1

  • Solo dos, del todo distintas

    ["AAAA", "TTTT"] → 4

  • Las parecidas no están juntas

    ["CGTA", "GCAT", "CGAA", "TTTT"] → 1

  • La menor es 2

    ["AACC", "GGTT", "AATT", "CCGG"] → 2

Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.

Empiezas con esto

Python

def mas_parecidas(cepas):
    pass

JavaScript

function masParecidas(cepas) {
}
Resolver este reto

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.

Más retos de O(n²)

Ver todos los retos →