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

145
Visualizações
for loop en la función countAndSay sigue devolviendo una cadena en blanco después de unirse a la matriz

Estoy trabajando en la pregunta de countAndSay leetcode. Creo que mi lógica es correcta y estoy seguro de que mi código está casi allí, pero sigo obteniendo un resultado en blanco en mi declaración de devolución. Estoy luchando por encontrar dónde mi código está causando que esta cadena esté en blanco. podria alguien ayudarme?

La secuencia de contar y decir es una secuencia de cadenas de dígitos definida por la fórmula recursiva:

countAndSay(1) = "1" countAndSay(n) es la forma en que "deciría" la cadena de dígitos de countAndSay(n-1), que luego se convierte en una cadena de dígitos diferente. Para determinar cómo "dice" una cadena de dígitos, divídala en el número mínimo de grupos para que cada grupo sea una sección contigua del mismo carácter. Luego, para cada grupo, diga el número de caracteres, luego diga el carácter. Para convertir el dicho en una cadena de dígitos, reemplace las cuentas con un número y concatene cada dicho.

 /** * @param {number} n * @return {string} */ var countAndSay = function(n) { sayString = "1"; sayArray = [1]; root = 0; previousRoot = 1; count = 0; //begin master loop that creates sayString out of sayArray, run through it n times for (i = 0; i < n; i++) { //loop through the sayString as many times as there are characters to create a sayArray for (let i = 0; i < sayString.length; i++) { //take the first digit in the string call it root root = sayString[i]; //if root equals previous root (1 on first loop), if (root == previousRoot) { // increase count variable by 1 count++; } // else add the count to the sayArray, add the new root value to the array, set count to 0 else { sayArray.push(count); sayArray.push(root); count = 0; } //change previous root to root so we can check its value next time through the loop previousRoot = root; } //make the new sayString a concatination of the sayArray sayString = sayArray.join(""); //set the sayArray to empty so we can start popolating it again during the loop sayArray = []; } //after weve ran the major loop n times, return sayString return sayString; }; console.log(countAndSay(4));

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