Com foco em melhorar ainda mais o rendimento e aprendizado em uma linguagem, também exercendo a lógica da programação, nessa nova série de resoluções irei demonstrar como resolvi certos conflitos de lógica: alguns simples, outros que necessitam de mais esforço.
Arrays - DS
Nesse primeiro exercício nos é passado uma listagem com parâmetros. Nosso objetivo nesse caso é inverter a lista, utilizando return
para mostrar os arrays na ordem contrária. Veja mais a seguir ->
/* Padrão:
4 parâmetros
1 4 3 2
O que ele quer:2 3 4 1*/
É possível resolver esse desafio de muitas formas. A forma que fiz foi a seguinte:
function reverseArray(a) {
// Write your code here
let reverse = [];
for (let i = a.length -1; i >= 0; i--){
reverso.push(a[i]);
}
return reverse
}
Esse código define uma função chamada "reverseArray" que recebe um array "a" como entrada. A função cria um novo array "reverse" e preenche-o com os elementos de "a" na ordem inversa, começando do último elemento e terminando no primeiro. Finalmente, a função retorna o array "reverse".
Mini-Max-Sum
No caso abaixo nós temos um parâmetro que pede para inserirmos a soma máxima e soma mínima:
Resolvi da seguinte maneira:
function miniMaxSum(arr) {
// Write your code here
const totalArrSum = arr.reduce((acc, cur) => acc + cur);
let miniSum = totalArrSum - Math.max(...arr);
let maxSum = totalArrSum - Math.min(...arr);
console.log(miniSum,maxSum);
}
Criamos uma const que vai fazer um reduce que soma o valor atual com o que foi guardado. Fazendo isso, criamos uma variável dos valores mínimos(sem o maior valor da lista) que pega o const reduce com todos os valores somados, menos o valor máximo alcançado(Math.max(...arr)) que seria 9.
No caso do maior valor seria o mesmo procedimento mas retirando do parâmetro o valor 1. Por fim , ele nos pede para printar o valor, por essa razão usamos console.log(miniSum,MaxSum);
Com isso, finalizamos os problemas no HackerRank de hoje. Até a próxima!
Top comments (0)