Hoje vamos explorar o algoritmo MinusPlus, um exercício clássico de entrevista técnica que já apareceu em processos seletivos de empresas como o Snapchat. Este algoritmo é uma excelente introdução à lógica de programação e à análise de dados.
O algoritmo MinusPlus recebe uma lista de números e calcula
O algoritmo percorre cada número da lista e classific:
Para cada categoria (positivos, negativos, zeros), calcula-se a porcentage:
Porcentagem = (Quantidade / Total de números) x 100
O resultado é arredondado para duas casas decimais para facilitar a leitura.
O algoritmo exibe no consol:
function percentage(listLength, quantity){
const result = (quantity * 100) / listLength;
return result.toFixed(2);
}
function calc(list){
let positive = 0;
let negative = 0;
let zero = 0;
for(let item of list){
if(item > 0) ++positive;
else if(item < 0) ++negative;
else ++zero;
}
const percentagePositive = percentage(list.length, positive);
const percentageNegative = percentage(list.length, negative);
const percentageZero = percentage(list.length, zero);
console.log("Quantidade de positivos: ", positive);
console.log("Quantidade de negativos: ", negative);
console.log("Quantidade de zeros: ", zero);
console.log("Porcentagem de positivos: ", percentagePositive, "%");
console.log("Porcentagem de negativos: ", percentageNegative, "%");
console.log("Porcentagem de zeros: ", percentageZero, "%");
}
calc([1, -2, 0, 3, -4, 0, 5]);
Saída:
Quantidade de positivos: 3
Quantidade de negativos: 2
Quantidade de zeros: 2
Porcentagem de positivos: 42.86 %
Porcentagem de negativos: 28.57 %
Porcentagem de zeros: 28.57 %
O algoritmo MinusPlus é simples, mas eficaz para demonsrar:
É um excelente exercício para iniciantes e uma boa forma de demonstrar habilidades básicas em entrevistas técncas.