DEV Community

Altencir Junior
Altencir Junior

Posted on

Resolvendo problemas no HackerRank: Somando array com elementos longos

Olá, seja bem vindo a mais uma etapa do Resolvendo problemas no Hacker-Rank,nessa sessão iremos resolver a soma de arrays. Veremos agora!

A Very Big Sum -

  • Neste desafio, você deve calcular e imprimir a soma dos elementos de um array, lembrando que alguns desses inteiros podem ser muito grandes.

  • aVeryBigSum has the following parameter(s):
    int ar[n]: an array of integers .
    Return
    long: the sum of all array elements

5
1000000001 1000000002 1000000003 1000000004 1000000005
Enter fullscreen mode Exit fullscreen mode

O problema pede que façamos a soma desses valores, dando resultado:

5000000015
Enter fullscreen mode Exit fullscreen mode

Então, vejamos a resolução:

function aVeryBigSum(ar) {
    // Write your code here
    return aVeryBigSum = ar.reduce((acum,value)=> acum + value);
}
Enter fullscreen mode Exit fullscreen mode

Os parâmetros ar estão guardando os valore. Foi se passado um .reduce para que ele pegue um valor acumulado que ainda não veio, e um valor atual. A soma desses, irá fornecer o nosso resultado esperado, pois iremos guardar todo o resultado no acum e somando ao novo valor que chega.

Vejamos o valor fornecido com base no código acima:

Image description

Soluções alternativas

function aVeryBigSum(ar) {
// Write your code here
let sumResult = 0;

for (let index = 0; index < ar.length; index++) {
sumResult += ar[index];
}

return sumResult;
}

O resultado será o meso, substituindo apenas o reduce, por uma laço forque adicionará mais 1 ao anterior em index.

Com isso concluímos mais um episódio, e nos vemos na próxima!!!

Top comments (0)