Zerando HackerRank ( 23 )

gabrielgcj

Gabriel J

Posted on March 28, 2023

Zerando HackerRank ( 23 )

E no vigésimo terceiro episódio desta serie que queima os miolos, vamos abordar um problema envolvendo uma sequência de arrays mágicas.

Neste exercício, receberemos com proporção 3x3 e nossaa matriz, dessa forma:

Image description

Recebemos tal matriz representada pela variável s e precisamos convertê-la em outra matriz, mostrando a diferença absoluta entre elas. Esse problema lembra um pouco a lógica do Sudoku, pois contém valores em diagonais e em linhas iguais. O importante é criar um método para pegar a primeira matriz 3x3 e as subsequentes, e calcular a diferença entre elas.

O valor de s será diferente a cada novo problema, mas a regra é sempre compará-lo e subtraí-lo pela matriz passada anteriormente.

O objetivo é determinar o custo mínimo total para converter a matriz de entrada em uma matriz mágica. Cada linha contém três inteiros de linha separados por espaços em s

Para resolver este problema criaremos a função "maxValue".
Essa função calcula a menor diferença possível entre uma matriz fornecida (representada pela variável s) e uma lista de matrizes pré-definidas. Ela itera sobre cada matriz da lista magicSquare, calcula a soma das diferenças absolutas entre cada elemento da matriz fornecida e da matriz atual de magicSquare e armazena o valor mínimo das somas em maxValue. Finalmente, retorna o valor de maxValue.

Em outras palavras, a função encontra a matriz de magicSquare mais próxima (em termos de soma das diferenças absolutas) da matriz s. É importante notar que a variável s não é definida no código fornecido, então não podemos ter certeza sobre o tipo ou formato da matriz que a função espera receber como entrada.

Nossa função vai ficar assim:

Image description

E assim fechamos mais um desafio.

💖 💪 🙅 🚩
gabrielgcj
Gabriel J

Posted on March 28, 2023

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related

What was your win this week?
weeklyretro What was your win this week?

November 29, 2024

Where GitOps Meets ClickOps
devops Where GitOps Meets ClickOps

November 29, 2024