DEV Community

Altencir Junior
Altencir Junior

Posted on

Resolvendo problemas no HackerRank: Contador estranho

Olá, seja bem vindo a mais um Resolvendo problemas no HackerRank: No caso de hoje, vamos encontrar o valor T individual de um contador que tem um padrão de contagem diferente do normal. Vejamos mais informações com a explicação e sua resolução.

Strange Counter -

Temos uma tabela com um contador fora do comum. A cada segmento, o número exibido por decrementa em 1 até chegar 1. Partindo para um segundo segmento o contador terá como redefinição 2x o valor inicial do segmento anterior. Podemos ver isso na imagem a seguir:

Image description

Com base nisso, queremos encontrar o valor de cada segmento duplicado. Vejamos o algoritmo:

function strangeCounter(t) {
    // Write your code here
  let end = 3
  let size = 3

    while (end<t) {
      size=2*size
      end+=size
    }  
    return end-t+1
}
Enter fullscreen mode Exit fullscreen mode

Temos o parâmetro t representa a parte de tempo de cada segmento. Criamos variáveis ende sizeonde endserá o valor final de cada segmento te sizeo seu multiplicador.

Enquanto endfor menor que t, iremos multiplicar o valor do valor do segmento em 2, e adicionar dentro de end. Sendo assim,ao final retornamos a expressãoend-t+1`que irá trazer o valor duplicado correto de cada segmento sendo multiplicado por 2.

Seu resultado será:


4
input: 6

Assim, concluímos mais um Resolvendo problemas no HackerRank: até a próxima.

Top comments (0)