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

192
Visualizações
¿Cómo crear una secuencia de M números naturales de 1 a N sin duplicación?

Escriba una función que devuelva todo el código de barras que se puede crear en una matriz cuando M debe ser una secuencia par de números naturales del 1 al N y la longitud debe ser M.*

condición

  • La secuencia debe imprimirse en orden creciente en el orden del diccionario.
  • El código de barras debe devolverse como un número.
 function test (N, M) { };

las salidas deben ir como a continuación

const salida1 = prueba(2, 1); consola.log(salida1); // --> [1, 2]

const salida2 = prueba(3, 2); consola.log(salida2); // --> [12, 13, 21, 23, 31, 32]

const salida3 = prueba(3, 3); consola.log(salida3); // --> [123, 132, 213, 231, 312, 321]

He intentado resolver esto durante horas, pero todavía no puedo conseguirlo. ... Es difícil incluso empezar. Agradecería que me ayudaran a resolver el código.

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

0

prueba esto

 const test = (n, m) => { if(m > n){ return [] } const numbers = Array(n).fill(1).map((n, i) => (n + i).toString()) const loop = (arr, res, elements) => { if (elements === 0) { return res.join('') } return arr.flatMap((a, i) => loop(arr.filter(b => b !== a), [...res, a], elements - 1)) } return loop(numbers, [], m) } console.log(test(1, 1)) console.log(test(2, 1)) console.log(test(3, 2)) console.log(test(5, 3))

Explicación

primero hay una verificación para asegurarse de que m es menor que n porque en ese caso no hay combinación posible

Internamente, esta función utiliza un loop de función recursivo para calcular todas las combinaciones posibles de longitud m

los argumentos son

  • arr una matriz de elementos
  • res un acumulador del elemento seleccionado anterior
  • elementos el número de elementos que faltan

al principio, la función de bucle se llama con numbers como matriz, matriz vacía como res y m como número de elementos

Primero verifica si los elements son cero (condición de salida)

Luego, toma el arr y haz un flatMap sobre él.

Foreach elemento llama a la función de loop recursivamente con argumento

  • arr matriz anterior sin elemento actual
  • res anterior res + este elemento
  • elementos - 1

ejemplo (2, 2)

primer bucle de ejecución (['1', '2'], [], 2)

elementos > 0

bucle(['2'], ['1'], 1)

  • loop([], ['1', '2'], 0) -> devuelve ['1', '2'].join('') = '12'

bucle(['1'], ['2'], 1)

  • loop([], ['2', '1'], 0) -> devuelve ['2', '1'].join('') = '21'
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