Por ejemplo, esta es la matriz de entrada: [2, 1, 4, 4, 3]
A partir de esta matriz, se establecerán n-1 patrones de izquierda a derecha.
Esta salida sería el número 7 porque las siguientes matrices separadas existen después de la agrupación:
[2] [1] [4] [4] [3] - 1 grupo ( n )
[4, 3] - 1 grupo ( n-1 )
[2, 1] - 1 grupo ( n-1 )
Salida: 7 (matrices)
Esto es lo que empecé hasta ahora, pero parece que acabo de resumir todo junto.
let numbers = [2, 1, 4, 4, 3]; let sum = numbers.reduce(function (previousValue, currentValue) { return previousValue + currentValue; }); console.log(sum);Se agradecería si la solución y una explicación se proporcionan en JavaScript. ¡Gracias!
function myFunction() { let numbers = [2, 1, 4, 4, 3]; // remove duplicates let unique = [...new Set(numbers)]; // get length of unique array, then add to the length of filtered unique array where it also contains n-1 console.log(unique.length + unique.filter(number => numbers.includes(number - 1)).length); } Obtenga la cantidad de elementos únicos y luego agréguela a la longitud de la matriz única filtrada donde también contiene n-1 .
Si quieres obtener las matrices:
function myFunction() { let numbers = [2, 1, 4, 4, 3]; let unique = [...new Set(numbers)]; var arrays = []; unique.forEach(number => { arrays.push([number]); if(numbers.includes(number - 1)) arrays.push([number, number-1]) }); console.log(arrays.length) console.log(arrays) }