#36842 Fui a la ultima edición del FITUR y en un stand había un developer to ciclao... te bajaba un aplauso y te aplastaba cual mosca.
Que ide recomendais para stack de PHP/React ??
Llevo ya mas de 1 año usando Atom, pero me esta picando el PHPStorm o el VS.
Por cosas de la vida estoy programando un "microframework", con muchas comillas porque es una bazura pero mamá es un follón esta mierda xD
Quizá, es posible, si se alinean los astros, que lo publique
Estoy haciendo el segundo ejercicio del leetcode y en el intelliJ me da correcto pero al ejecutarlo en la web me dice que fuck me
#36851 https://leetcode.com/problems/add-two-numbers/submissions/
public class Solution {
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
List<Integer> firstList = this.getDigitsFromListNode(l1);
List<Integer> secondList = this.getDigitsFromListNode(l2);
int firstNumber = this.getIntegerFromDigitList(firstList);
int secondNumber = this.getIntegerFromDigitList(secondList);
return getListNodeFromNumber(firstNumber + secondNumber);
}
private List<Integer> getDigitsFromListNode(ListNode listNode) {
List<Integer> digits = new ArrayList<>();
while (listNode != null) {
digits.add(listNode.val);
listNode = listNode.next;
}
return digits;
}
private int getIntegerFromDigitList(List<Integer> digits) {
int multiplier = 1;
int result = 0;
for (Integer i : digits) {
result = result + (i * multiplier);
multiplier = multiplier * 10;
}
return result;
}
private ListNode getListNodeFromNumber(int number) {
if (number == 0) {
return new ListNode(0);
}
List<Integer> digits = new ArrayList<>();
List<ListNode> nodes = new ArrayList<>();
while (number != 0) {
digits.add(number % 10);
number = number / 10;
}
for (Integer i : digits) {
nodes.add(new ListNode(i));
}
for (int i = 0; i < nodes.size() - 1; i++) {
nodes.get(i).next = nodes.get(i + 1);
}
return nodes.get(0);
}
}
#36852 El problema es que te meten números que no se puede representar con int o long.
Así que mejor solucionalo al vuelo mientras iteras
#36854 pero no tiene sentido que el itellij me saque bien el resultado, si hace overflow de la variable en la web también debería hacérmelo en mi jvm
#36855 He probado tu codigo en un IDE (Eclipse xD) y con entradas grandes falla.
Esta es la entrada con la que lo he probado:
[1,2,3,4,5,8,6,0,2,5,9,5,2,0,1,1,4,8,8,1,2,3,4,5,8,6,0,2,5,9,5,2,0,1,1,4,8,8,1,2,3,4,5,8,6,0,2,5,9,5,2,0,1,1,4,8,8]
[1,0,5,8,4,7,8,5,2,1,4,8,8,1,0,5,8,4,7,8,5,2,1,4,8,8]
Asi que el problema debe ser el que te han dicho, que con némeros grandes te pasas del limite de int (y también de long).
Al final, ya que estaba me he puesto a hacer el problema. Dejo el código en el spoiler , pero no me deis mucha caña
Yo tengo que ser sincero y admitir que no entiendo una mierda de ese ejercicio jajajajja
Osea, no entiendo que ListNode se construya con un int y en el input le estén pasando un array.
#36856 no pijo, si yo entiendo que me haga overflow del int y del long y de la madre que los parió, lo que no entiendo es que para exactamente el mismo input mi intellij lo saca bien y la web no con el mismo código xD
#36858 Pero con que Testcase lo haces? Igual te sale bien con el Testcase que tienes debajo del editor pero cuando haces Submit hace bastantes test más, igual te falla con esos.
#36858 con el mismo test te da resultados diferentes (?), eso sí que es raro, mira a ver si tus int tienen un par más de bits xD
#36857 Es una forma sencilla de pasar tests, tu le pasas el número en formato [n1, n2, ...] y luego ellos eso lo tratan para que quede en forma de lista. No le pasan directamente a ListNode() el array, crean un nodo para cada posición del array, algo como ListNode(array(i)).
#36861 Debe ser que JS me vuelve idiota, pero no entiendo una mierda xD
Hora de coger papel y boli.
#36861 pues te juro que por un momento he dudado de mis más profundas convicciones y he ido a Google a ver si el tamaño de las variables variaba entre arquitecturas 32/64 bits porque me estaba quemando un montón
Cuando llegue a casa pongo el testcase concreto que en el curro no lo tengo
¿Y no será que tienes diferente memoria asignada a la JVM y por eso en unos lados te peta y en otros no?
Leetcode tiene una memoria asignada super limitada para forzarte a encontrar la solucion mas optima.
#36864 no es que pete, es que el test da resultados distintos en la web y en mi local. De todos modos gasto como 10 variables que son básicamente ints, debería funcionar hasta en una Game Boy