Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Como deixar o código mais limpo em um calculo de matriz de List

Para estudo estou usando o Hacker Rank e me deparei com essa questão (https://www.hackerrank.com/challenges/diagonal-difference/problem) onde se usa List para fazer uma matriz, minha solução de calcular as diagonais da matriz foi essa

 public static int diagonalDifference(List<List<Integer>> arr) {

        int dd=0, de=0, j=arr.size()-1;
        for (int i=0 ; i< arr.size();i++) {
            dd+=arr.get(i).get(i);
            de+=arr.get(i).get(j);
            j--;
        }
        int resultado = ((dd-de) < 0 ? (dd-de)*-1 :(dd-de));
        return resultado;
    }

Mas sinto que poderia ser ainda melhor, já achei que ao invés de usar o ternário para a diferença absoluta poderia usar a Math.abs, mas tem algo mais?

2 respostas

Olá Igor!

Acho que não, o código me parece bom.

Está simples e enxuto.

solução!

Olá Igor!

Estou fechando o tópico. Qualquer outra dúvida pode nos mandar por aqui!

Abs