Las cepas más parecidas
- O(n²) · Muy difícil
- Plan completo
- Python
- JavaScript
- textos
- listas
- ciclos
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):
passJavaScript
function masParecidas(cepas) {
}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²)
- Las cifras de la esfingedígitos · textos · índices
- Las fichas del atrilciclos · listas · textos
- Las justas del torneocomparaciones · ciclos · listas
- Las muestras en las cápsulascomparaciones · ciclos · listas
- Las partículas que chocanlistas · ciclos · comparaciones
- Las pistas del cumpleañosciclos · listas · índices