DEV Community

Altencir Junior
Altencir Junior

Posted on

Resolvendo problemas no HackerRank: Equalização de Matrix sobre Inteiros.

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;
}
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

Assim, concluímos mais um Resolvendo problemas no HackerRank: até a próxima.

Top comments (0)