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

297
Visualizações
Son lo mismo"? Kata de guerra de códigos

Estoy tratando de resolver el kata de codewars mencionado anteriormente con las siguientes instrucciones:

Dadas dos matrices a y b, escriba una función comp(a, b) (ocompSame(a, b)) que verifique si las dos matrices tienen los "mismos" elementos, con las mismas multiplicidades (la multiplicidad de un miembro es el número de veces que aparece). "Igual" significa, aquí, que los elementos en b son los elementos en a al cuadrado, independientemente del orden.

Ejemplos Matrices válidas a = [121, 144, 19, 161, 19, 144, 19, 11]
b = [121, 14641, 20736, 361, 25921, 361, 20736, 361] comp(a, b) devuelve verdadero porque en b 121 es el cuadrado de 11, 14641 es el cuadrado de 121, 20736 es el cuadrado de 144, 361 el cuadrado de 19, 25921 el cuadrado de 161, y así sucesivamente. Se vuelve obvio si escribimos los elementos de b en términos de cuadrados:

a = [121, 144, 19, 161, 19, 144, 19, 11] b = [11 11, 121 121, 144 144, 19 19, 161 161, 19 19, 144 144, 19 19] Matrices no válidas si, por ejemplo, cambiamos el primer número a otra cosa, comp ya no vuelve verdadero:

a = [121, 144, 19, 161, 19, 144, 19, 11]
b = [132, 14641, 20736, 361, 25921, 361, 20736, 361] comp(a,b) devuelve falso porque en b 132 no es el cuadrado de ningún número de a.

a = [121, 144, 19, 161, 19, 144, 19, 11]
b = [121, 14641, 20736, 36100, 25921, 361, 20736, 361] comp(a,b) devuelve falso porque en b 36100 no es el cuadrado de ningún número de a.

Los comentarios a o b pueden ser [] o {} (todos los idiomas excepto R, Shell). a o b puede ser nulo o nulo o Ninguno o nada (excepto en C++, Crystal, D, Dart, Elixir, Fortran, F#, Haskell, Nim, OCaml, Pascal, Perl, PowerShell, Prolog, PureScript, R, Racket, Rust , Concha, Vencejo). Si a o b son nulos (o nulos o ninguno, según el idioma), el problema no tiene sentido, por lo que devuelve falso.

Este es mi código, que está pasando las pruebas iniciales pero fallando algunas pruebas más tarde:

 const comp = (a, b) => { function sortNumber(n1, n2) { return n1 - n2; } if (a === [] || b === [] || a === {} || b === {} || a === null || b === null) { return false } else { a = a.sort(sortNumber) b = b.sort(sortNumber) } for (let i = 0; i < a.length; i++) { for (let i = 0; i < b.length; i++) { if (Math.pow(a[i], 2) === b[i]) { return true } else { return false } } } }

El mensaje de error que recibo es: también debería funcionar con entradas aleatorias: se esperaba que fuera falso pero se hizo verdadero (o viceversa). ¿Qué estoy haciendo mal?

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