Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

151
Visualizações
Problema de socket Merchant, ¿cómo puedo resolverlo simplemente clasificando la matriz y contando la cantidad de pares de pisos de los números?

El problema que tengo que resolver es este:

Hay una gran pila de calcetines que deben emparejarse por color. Dada una serie de números enteros que representan el color de cada calcetín, determine cuántos pares de calcetines con colores iguales hay.

Ejemplo

Hay un par de color y otro de color. Quedan tres calcetines impares, uno de cada color. el numero de parejas es

.

Función descriptiva

Complete la función sockMerchant en el editor a continuación.

sockMerchant tiene los siguientes parámetros:

 int n: the number of socks in the pile int ar[n]: the colors of each sock

Devoluciones

 int: the number of pairs

Mi solucion en javascript ya que se muy poco del idioma fue esta

 function sockMerchant(n, ar) { // Write your code here let pairs=0; let counter; ar.sort() for(let i=0; i < n; i++){ if (i == 0){ counter = 1; }else{ if(ar[i] == ar[i-1]){ counter++; }else{ pairs= pairs + Math.floor(counter/2); counter= 1; } } } return pairs }

El problema es que hackerranks se queja porque con esta entrada

 10 1 1 3 1 2 1 3 3 3 3

mi salida es 2 en lugar de 4. ¿Alguien puede decirme por qué? No puedo ver dónde está el problema. si alguien me puede ayudar a ver donde esta el problema se lo agradeceria gracias de antemano jenifer

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Desafortunadamente, no pude entender la lógica de su algoritmo propuesto, pero como una solución alternativa, puede echarle un vistazo a mi código. Aquí está mi código javascript para este problema que funciona bien.

Primero, definí un diccionario (ar_count) y conté cada número de la matriz ar y actualicé el diccionario para la clave correspondiente. Definí la clave en forma de "clave"+ar[i] para una codificación fácil y un procesamiento rápido para encontrar la clave existente y para contar pares.

 function sockMerchant(n, ar) { var ar_count={}; for(let i=0; i<ar.length;i++){ if("key"+ar[i] in ar_count){ ar_count["key"+ar[i]]+=1; } else{ ar_count["key"+ar[i]]=1; } } //console.log(ar_count); var pairs=0; for (var key in ar_count){ paires+=~~(ar_count[key]/2); } return pairs; }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda