Olá, seja bem vindo a mais um Resolvendo problemas no HackerRank: No caso de hoje, vamos eliminar os menores valores possíveis de elementos. Vejamos mais informações com a explicação detalhada e sua resolução.
Equalize the Array -
Dada uma matriz de números inteiros, determine o número mínimo de elementos a serem excluídos para deixar apenas elementos de igual valor.
Exemplo:
arr = [1,2,2,3]
Deletamos dois elementos 1 e 3 deixando apenas um array [2,2].
- Return - int: O número mínimo de exclusões necessárias.
function equalizeArray(arr) {
// Write your code here
let aux = 0;
let countRepeticions = 0;
for( let i = 0; i < arr.length; i++ ){
for( let j = 0; j < arr.length; j++ ){
if( arr[ i ] == arr[ j ] ){
countRepeticions++;
}
}
if( countRepeticions > aux ){
aux = countRepeticions;
}
countRepeticions = 0;
}
return arr.length - aux;
}
O código acima implementa uma função chamada "equalizeArray" que recebe um array como argumento e retorna o número mínimo de operações necessárias para tornar todos os elementos do array iguais.
Para fazer isso, a função utiliza um algoritmo de força bruta que itera sobre o array duas vezes para contar o número de ocorrências de cada elemento. Em seguida, ele armazena o maior número de ocorrências em uma variável auxiliar "aux".
Finalmente, a função retorna o comprimento do array menos o número de ocorrências do elemento mais frequente.
Por exemplo, se o array de entrada for [1, 2, 2, 3], a função contará o número de ocorrências de 1, 2 e 3 no array e descobrirá que o elemento mais frequente é 2, com duas ocorrências. Portanto, a função retornará o resultado 2, que é o comprimento do array (4) menos o número de ocorrências do elemento mais frequente (2).
5
3 3 2 1 3
input: 2
Assim, concluímos mais um Resolvendo problemas no HackerRank: até a próxima.
Top comments (0)