Hamming

Hamming

Fácil

Introdução

O teu corpo é feito de células que contêm DNA. Essas células desgastam-se regularmente e precisam de ser substituídas, o que conseguem ao dividir-se em células-filhas. De facto, o corpo humano médio passa por cerca de dez mil biliões de divisões celulares ao longo da vida!

Quando as células se dividem, o seu DNA também se replica. Por vezes, durante este processo, acontecem erros e pequenas partes de DNA ficam codificadas com a informação incorreta. Se compararmos duas cadeias de DNA e contarmos as diferenças entre elas, conseguimos ver quantos erros ocorreram. É a isto que se chama a "distância de Hamming".

A distância de Hamming é útil em muitas áreas da ciência, não só na biologia, por isso é uma expressão que vale a pena conheceres :)

Instruções

Calcula a distância de Hamming entre duas cadeias de ADN.

Lemos o ADN através das letras C, A, G e T. Duas cadeias podem ter este aspeto:

GAGCCTACTAACGGGAT
CATCGTAATGACGGCCT
^ ^ ^  ^ ^    ^^

Têm 7 diferenças e, por isso, a distância de Hamming é 7.

Notas de implementação

A distância de Hamming só está definida para sequências de igual comprimento. Por isso, não deve ser possível calculá-la entre sequências com comprimentos diferentes.

Dicas

Este é o primeiro exercício cujos testes exigem que lances uma Exception. As Exceptions são tipicamente lançadas para indicar que um programa se deparou com dados de entrada ou um estado inesperados.

Ao longo do percurso, os testes vão verificar que as exceções que lanças são:

  1. instâncias de um tipo Java especificado;
  2. (opcionalmente) inicializadas com uma mensagem especificada.
Editar via GitHub A ligação abre numa nova janela ou separador
Java Exercism

Estás pronto para começar Hamming?

Inscreve-te no Exercism para aprenderes e dominares Java com 26 conceitos158 exercícios, e mentoria humana real, tudo grátis.