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:
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:
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:
E assim fechamos mais um desafio.
Top comments (0)