Fácil 0 resueltos 0% de aceptación

Hamming Distance

Compare two DNA strings position by position and count the differences.

Lo que aprenderás

  • Comparar dos cadenas posición a posición
  • Contar las diferencias
  • Comprobar que las longitudes son iguales

Problema

Compare two DNA strings position by position and count the differences. Only characters at the same position are compared; do not insert, delete, or shift characters. No biology knowledge is needed.

Implement hamming_distance(first, second).

Input

first: The first DNA string.

second: The equal-length second DNA string.

Output

Return the number of positions with different characters.

Restricciones

Both strings have the same length, from 0 to 100,000. Characters are uppercase A, C, G, or T.

Ejemplos

Ejemplo 1
Entrada:
first = "ACCT"
second = "AGCA"

Salida esperada:
expected = 2
Entrada:
std::string first = "ACCT";
std::string second = "AGCA";

Salida esperada:
long long expected = 2;
Entrada:
string first = "ACCT";
string second = "AGCA";

Salida esperada:
long expected = 2;

Explicación

The second position is C versus G and the fourth is T versus A. The first and third match: two differences.

Ejemplo 2
Entrada:
first = "GATT"
second = "GATT"

Salida esperada:
expected = 0
Entrada:
std::string first = "GATT";
std::string second = "GATT";

Salida esperada:
long long expected = 0;
Entrada:
string first = "GATT";
string second = "GATT";

Salida esperada:
long expected = 0;

Explicación

All four positions match, so no differences are counted.

Cómo abordarlo

Inténtalo primero por tu cuenta y luego abre las pistas una a una.

Pista 1

Compara ambas cadenas posición por posición y cuenta cuándo difieren los caracteres.

Pista 2

Basta una sola pasada con iteración emparejada; no hace falta reordenar ni buscar subcadenas.

Pista 3

Recuerda que entradas del mismo largo también pueden estar vacías, y eso debe dar cero diferencias.

Complejidad esperada

tiempo O(n), espacio extra O(1)

Referencias

Este reto está adaptado para CodeUtility. Sigue el enunciado y las restricciones indicadas arriba.

Aprende de otros

Soluciones de la comunidad

Aún no hay soluciones publicadas. Resuelve este reto para compartir la primera.