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

97
Visualizações
Cambiar el tamaño de la matriz de enteros pero conservar la suma de la matriz Javascript - Distribución de probabilidad

Creo que esto es más conceptual que nada y mi caso de uso es muy específico.

Estoy tratando de crear una matriz de probabilidades para pasar a una función RNG. La matriz de probabilidades puede variar en tamaño, por lo que no puede tener una longitud estática. Estoy creando la matriz de probabilidades en función de un solo número entero 0-100. Sé que esto suena confuso, pero tengan paciencia conmigo.

Por ejemplo.

 const range = 5 const weight = 30 const weights = new Array(10).fill(0) const middleIndex = Math.floor(weight / 10) weights[middleIndex] = 100 const add = 10 - middleIndex let counter = 2 for (let i = middleIndex + 1; i < add + middleIndex; i++) { weights[i] = 100 / counter counter += 1 } counter = 2 for (let i = middleIndex - 1; i >= 0; i--) { weights[i] = 100 / counter counter += 1 } console.log(weights) // [ 25, 33.336, 50, 100, 50, 33.3336, 25, 20, 16.668, 14.285 ]

Vea que la matriz de salida tiene la forma de longitud 10, pero necesito la misma distribución de probabilidades en la longitud 5 para pasar a mi función RNG de manera que:

 const cleanWeights = compressWeights(weights, range) // This is my required function, it should output an array of length range and share the exact same distribution of probabilties with the input weights array. const rand = weightedRandom(weights) // Returns an int from range 0 to weights.length. Likely to equal ~2 - as distribution of probability (30/100) leans to lower end of range 0, 5

Si hay un mejor enfoque en conjunto para esto, hágamelo saber, si también detecta alguna oportunidad de optimización, me encantaría escucharla.

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