#31502 Duras declaraciones, pero vamos, voy a romper una lanza en favor de todos los FP masillas de este hilo; yo creo que mal que bien, todos sabrían hacerlo.
#31505 Pues usando filter
, map
, etcétera con un lambda
. Por ejemplo, sin el cuadrado:
def so_hard(fucking_numbers):
even_numbers = filter(lambda x: x % 2 == 0, fucking_numbers)
return sum(even_numbers)
#31506 Siempre he pensado que esas "pruebas" chorras son para ver si la cabeza funciona rápido no para saber si el entrevistado es capaz de recordar movidas varias.
Que lenguaje es ese?
#31505 filter, reduce.
collectionVariable.stream().filter(x -> x%2 == 0).reduce(aqui metes la funcion de suma al cuadrado)
#31508 Puede ser JAJAJAJAJA Yo que se pato, si yo solo el mas pollo de aquí como dicen en la mili.
PD: Me da la impresión de que en este subforo se habla un montón pero se pone poco código. Tenemos vergüenza de que el resto de los pros vean nuestras vergüenzas?
function get_even($list){
return array_filter($list, function($item){
return(!($item & 1));
});
}
function even_sum_pow($list){
return array_sum(
array_map(function($item){
return $item * $item;
}, get_even($list))
);
}
echo even_sum_pow([
1,2,3,4,5,6
]); // 56
El forEach como el mío podría simplificarse como el filter del pato?
for(int i: array){
if ( i % 2 == 0){
suma += Math.pow( i , 2 );
}
}
vs
for(int i % 2 = 0: array){
suma += Math.pow( i , 2 );
}
#31505 por ahí había un util del array en no sé qué versión o no recuerdo que clase que te lo hace easy sin usar bucles xd.
#31507 También lo tienes en Java.
ArrayList<Long> squaredEvenNumbers = unsortedArray.stream()
.filter(i -> i % 2 == 0)
.map(i -> i = (long) Math.pow(i, 2))
.collect(Collectors.toCollection(ArrayList::new));
Anécdota del día:
Después de estar currandome ejercicios con matrices como los que puse aquí hace tiempo recorriendo la matriz de mil y una maneras. Llego al examen y el cabrón nos pone a hacer un array con tantas posiciones como días del mes (no importa el mes, 31 días), con 4 métodos:
- introducirTemp(int dia, float temperatura)
- max( )
- min ( )
- media ( )
Lo peor es que hay gente en mi clase que no lo ha hecho porque veníamos de un ejercicio largo de herencias y mierdas y les parecía muy difícil / vaya pereza.
3 puntos sobre 10 a la basura por no darles la gana de hacer 4 lineas.
int suma = IntStream.of(array).filter(n -> n % 2 == 0).sum();
me ha llevado 15 minutos, que no recordaba cómo se usaba el puto filter xd.
sólo falta el cuadrado xd.
<html>
<head><title>Resultado</title>
<body>
<div><span><3</span></div>
</body>
</html>
Prueba hecha
array.stream().filter(Utils::filterMethod).map(Utils::mapMethod).reduce(Integer::sum)
Yo en una entrevista lo haría como vosotros primero pero rápidamente diria que usaria methodos para mejor legibilidad
Este estilo en java lo he adaptado ultimamente y hago mucho cosas del estilo
collection.forEach(this::method)
#31529 Las lambdas son malas prácticas
el dia que tengas que programar algo de verdad y no python lo entenderas