es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo encontrar el número de cadenas repetidas.

const repeat= (nums) =>{ //* Hecho
    let ans = []
    for(let i = 0; i< nums.length; i++){
      if(nums[i] === nums[i+1]){
         if(ans[ans.length -1] !== nums[i]){
            ans.push(nums[i])
         }
      } 
    }
    return ans.length 
}

console.log(repeat(['nsmg33de1','nsmg33de1','2211,','2211','1234','1234']))

En este ejemplo parece que esta función no funcionará correctamente
hay 3 cadenas repetidas en el array pero el resultado será 2

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    La función repeat toma como entrada un array nums y devuelve el número de elementos repetidos únicos en el array. Sin embargo, en este ejemplo particular, la función parece no funcionar correctamente. El array de entrada tiene 3 strings repetidos, pero la función devuelve 2 en lugar de 3. El problema parece estar en la condición if(ans[ans.length -1] !== nums[i]), la cual verifica si el último elemento en el array ans es diferente del elemento actual en el bucle. Esta condición evita agregar múltiples veces el mismo elemento repetido al array ans, pero también impide contar la última repetición si es igual a la anterior. Una posible solución para este problema podría ser eliminar esta condición y agregar todos los elementos repetidos al array ans, luego utilizar un conjunto (set) para eliminar duplicados y contar los elementos únicos.

Comments are closed.