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

207
Visualizações
¿Cómo podría implementar una función que realice un seguimiento de los subarreglos en una matriz 2d de nodos de árboles binarios y devuelva elementos específicos de cada subarreglo?

Tengo una función de ayuda que primero itera a través de un árbol de búsqueda binario e inserta cada 'nivel' del árbol binario en un subarreglo, que luego se inserta en un arreglo 2d.

Por ejemplo:

 // a // / \ // bc // / \ \ // def

Se ve como esto:

 // [ // ['a'], // ['b', 'c'], // ['d', 'e', 'f'] // ]

Aquí está mi función auxiliar:

 const myLevels = (root) => { const subLevels = []; const queue = [{ node: root, currentLevel: 0, }]; while (queue.length > 0) { let { node, currentLevel } = queue.shift(); if (subLevels.length === currentLevel) { subLevels.push([node.val]); } else { subLevels[currentLevel].push(node.val); }; if (node.left !== null) queue.push({ node: node.left, currentLevel: currentLevel + 1 }); if (node.right !== null) queue.push({ node: node.right, currentLevel: currentLevel + 1 }); }; return subLevels; };

Esto funciona, sin embargo, quiero usar la función auxiliar en otra función que devolverá un elemento específico de cada nivel que devuelve la función auxiliar. Por ejemplo, ¿qué pasaría si quisiera devolver los elementos más a la izquierda y más a la derecha de cada nivel? ¿O si quisiera encontrar el segundo valor más grande en cada nivel (asumiendo que cada valor de nodo consiste en un número), o si quisiera devolver las vocales de cada nivel?

Mi enfoque actual es iterar a través de cada subarreglo de la matriz 2d y luego iterar a través de esos elementos, ya que este enfoque tiene más sentido para mí. Sin embargo, no tengo idea de cómo conceptualizar el seguimiento de cada nivel y decirle a mi función que "mire este subarreglo como si fuera un arreglo completamente nuevo".

Esta es mi función principal hasta ahora:

 function findXEachLevel(root) { const levels = myLevels(root); let finalArray = []; for (let i = 0; i < levels.length; i++) { let currentLevel = levels[i]; console.log(currentLevel) // Shows the current subarray in the 2d array for (let j = 0; j < currentLevel.length; j++) { let currentValue = currentLevel[j]; console.log(currentValue) // Shows the current value in the subarray }; }; };

¿Sería una devolución de llamada una solución viable aquí, o existe un enfoque más simple?

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