Escolher 2 exercícios e desenvolver a logica com todos os cenários de testes.
Crie uma função que verifique se uma determinada string é um palíndromo. Um palíndromo é uma palavra, frase, número ou outra sequência de caracteres que lê o mesmo para a frente e para trás (ignorando espaços, pontuação e capitalização).
Exemplo: Entrada: "A man, a plan, a canal, Panama" = Verdadeiro
Entrada: "hello" = Falso
Solução:
Explicação:
- Na linha 19 estou passando um regex que aceita apenas letras, e retirando todos os espaços que a String pode ter, assim tenho certeza que só vai ser passado apenas letras para verificar o palíndromo.
- Entre as linhas 23 a 26 realizei um FOR para percorrer todas as possições da palavra, pegando seu caracter e adicionando sempre antes do que já estava na String reverso
- Na linha 28 verifico se a palavra inicial é igual a palavra reversa
Dado um array binário, encontre a máxima sequência de uns consecutivos.
Entrada: [1, 1, 0, 1, 1, 1]
Retorno: 3
Solução:
Explicação:
- Na Linha 42 crio um Foreach que vai percorrer a quantidade de elementos que tem no array e pegar o valor.
- Na Linha 43 Verifico se o numero é Binário (0 ou 1), se não for devolvo uma Exception e um erro
- Na Linha 47 Verifico se o numero que está percorrendo no array naquele momento é (1), se for verdadeiro ira acrescentar ao contador e se for falso retorna o contador para 0
- Na Linha 49 verifico se o contador é maior que a quantidade maxima encontrada anteriormente
- Na Linha 56 retorno um Response Entity 200 (OK) e o numero de consecutivos total