Tratando de resolver el problema del número faltante a continuación
Input: nums = [0,1] Output: 2 Explanation: n = 2 since there are 2 numbers, so all numbers are in the range [0,2]. 2 is the missing number in the range since it does not appear in nums.Su solución da un error de sintaxis incorrecto, cualquier ayuda en este código, básicamente construyó una matriz de tamaño n + 1, para dejar un lugar para el elemento faltante. Luego asignó cada valor a -1 para que podamos ver qué posición no se llenó
let missingNumber = function(nums){ const sol =new Array(nums.length+1).fill(-1); for (const num of nums) { sol[num] = num; } return sol.indexOf(-1); } console.log(missingNumber(5))el error que recibo es
PS C:\VSB-PRO> node Fibo.js C:\VSB-PRO\Fibo.js:5 const res = new Array(nums.length+1).fill(-1); ^ RangeError: Invalid array length at missingNumber (C:\VSB-PRO\Fibo.js:5:17) at Object.<anonymous> (C:\VSB-PRO\Fibo.js:18:13) at Module._compile (node:internal/modules/cjs/loader:1101:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10) at Module.load (node:internal/modules/cjs/loader:981:32) at Function.Module._load (node:internal/modules/cjs/loader:822:12) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) at node:internal/main/run_main_module:17:47Tu ayuda es apreciada
Saludos,
Carolina
parece que estaba pensando que iba a pasar una matriz a su función de missingNumber mientras intentaba acceder a la propiedad de length en el parámetro. Sin embargo, pasa un número regular 5 a la función. Este código debería solucionar su problema cuando paso una matriz en su lugar:
let missingNumber = function(nums) { const sol = new Array(nums.length + 1).fill(-1); for (const num of nums) { sol[num] = num; } return sol.indexOf(-1); } console.log(missingNumber([5, 3, 2, 4]))Si eso no es lo que está buscando, entonces le aconsejo que revise su código para comprender a dónde viajan los datos cuando los pasa a su función en su código.