DEV Community

Gabriel J
Gabriel J

Posted on

Zerando HackerRank ( 17 )

E no décimo sétimo episodio desta serie que queima os miolos, vamos abordar um problema envolvendo arrays em 2D.

Neste problema receberemos uma matriz 6 x 6 como podemos ver na imagem abaixo:

Image description

Vale a pena ressaltar que uma matriz nada mais é que um conjunto de arrays semelhantes.

A grande jogada nesse desafio é que devemos calcular uma espécie de ampulheta, se baseando na posição de cada item da matriz.

Devemos nos basear como o exemplo abaixo:

Image description

O objetivo é encontrar a soma de todas essas ampulhetas, imprimindo a maior de todas elas.

Para isso iremos criar a função "hourglassSum". A função vai usar dois loops for aninhados para percorrer a matriz e para cada conjunto de 3 x 3 encontrados, calculando a soma dos elementos e comparando com a maior soma encontrada até o momento.

A cada iteração, a função verifica se a soma atual é maior ou menor do que a maior soma encontrada até agora e retorna a maior soma. Se a maior soma encontrada for menor ou igual a zero, a função retorna a primeira soma negativa ou zero encontrada.

Nossa função deve ficar assim:

Image description

E assim fechamos mais um desafio.

Top comments (0)