Skip to content

Latest commit

 

History

History

longest-sequence

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Sequência mais longa

Um grupo de amigos decidiu se organizar para juntos pararem com um vício: jogar Pokémon Go. Para isso começaram a fazer uma pequena competição, elaborando uma lista com seus nomes e dias consecutivos que conseguiam ficar sem jogar. Decidiram tentar por um mês e avaliar seu desempenho. As listas deveriam ficar mais ou menos assim:

HENRIQUE:1 2 3 4 7 8 9 15
ERIKA:1 2 4 5 6 10 11 20 21
JOAO:5 6 7 20 21 22 25 26

Cada número anotado indica um dia sem jogar Pokémon e, ao final do mês, a pessoa com o maior número de dias consecutivos seria vencedora. No exemplo acima, seria HENRIQUE com 4 dias consecutivos, de 1 até 4. JOAO e ERIKA conseguiram, no máximo, 3 dias consecutivos.

Henrique era o responsável por compilar todos os dados e apresentá-los no final, mas devido à abstinência de Pokémon, fez uma confusão na tabela, e agora os dias estão embaralhados. Seguindo o exemplo anterior, a tabela ficou assim:

HENRIQUE:9 15 2 4 3 1 7 8
ERIKA:4 5 2 1 6 10 11 21 20
JOAO:26 25 7 6 5 21 22 20

Note como os valores são os mesmos, mas a ordem deles está embaralhada. Você deve implementar o código que recebe essa lista e retorna o nome com o total de dias consecutivos, ordenada da menor para a maior. Nesse exemplo, o retorno seria: HENRIQUE:1 3 4, já que temos:

15 - 1 único dia

7 8 9 - 3 dias consecutivos

1 2 3 4 - 4 dias consecutivos

Em caso de empate, o maior valor seguinte de dias consecutivos é vencedor. Você pode partir do pressuposto de que, nos testes, há sempre um único vencedor.