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

342
Visualizações
Cómo comparar dos cadenas y eliminar diferencias- Hacer anagramas

Sé que este es un tema que ya está aquí en stackoverflow, pero estos enfoques son los que no quiero seguir porque no los entiendo, por lo que es una pérdida de tiempo simplemente copiarlo.

Soy bastante nuevo en Javascript y me gustaría pedirles ayuda con los anagramas. Estoy trabajando en tareas de HackerRank y hay una con anagrama.

Actualmente, he creado algunos enfoques que creo que pueden conducir a un resultado correcto, pero no están terminados y me siento perdido después de horas de buscar una solución atractiva.

Aquí está la solución 1: creo que esto funcionaría, pero hay un problema con el conteo, me devolverá 1 ya que solo la letra "C" está en ambas cadenas, pero lo que quiero es devolver 2 ya que había dos "C". letras. ¿Hay alguna manera de cómo puedo lograrlo?

 function makeAnagram(a, b) { let count = 0; arrayA = Array.from(a); arrayB = Array.from(b); const try3 = try1.concat(try2); let sameLetters = arrayA.filter(item => arrayB.includes(item)) { count++; } console.log(sameLetters); console.log(count); count = (try3.length - sameLetters2.length); } console.log(makeAnagram("cde", "abc"));

La siguiente solución fue con ciclos, pero probablemente esto no sea suficiente y no sea correcto.

 function makeAnagram(a, b) { let count = 0; let deleted = 0; for(let i = 0; i < a.length; i++) { for(let j = 1; j < b.length; j++) { if(arrayA[i] == arrayB[i]) { count++; } else { deleted++; } } }

Y la última solución que estaba probando y me parece una buena solución es:

 function makeAnagram(a, b) { const array2 = [...a.split(""), ...b.split("")] console.log(array2); const something = array2.reduce((acc, letter) => array2.includes(letter) ? [] : [...acc, letter],[]) } }

Gracias

about 4 years ago · Juan Pablo Isaza
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