Esta es la pregunta: https://leetcode.com/problems/plus-one/
Se le da un entero grande representado como una matriz de dígitos enteros, donde cada dígito[i] es el i-ésimo dígito del entero. Los dígitos están ordenados de más significativos a menos significativos en orden de izquierda a derecha. El entero grande no contiene ningún cero inicial.
Incremente el entero grande en uno y devuelva la matriz de dígitos resultante.
Este es mi código:
var plusOne = function(digits) { let num = 0; for(let i = 0; i < digits.length; i++){ num += digits[i] * (10 ** (digits.length-i-1)) } return (num+1).toString().split("").map(Number) };Caso de prueba fallido:
Input: [6,1,4,5,3,9,0,1,9,5,1,8,6,7,0,5,5,4,3] Output: [6,1,4,5,3,9,0,1,9,5,1,8,6,7,0,5,0,0,0] Expected: [6,1,4,5,3,9,0,1,9,5,1,8,6,7,0,5,5,4,4]Me di cuenta de que el código también funciona bien siempre que digits.length <= 17, por ejemplo, [1,2,3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5 , 6, 7] Una vez que hay 18 números en dígitos para, por ejemplo, [1,2,3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8 ] deja de funcionar y parece que no puedo encontrar el error con esto. ¿Puede alguien por favor ayudarme a iluminarme? ¡¡Gracias!!