Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

152
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!