Feda /dev/

eisenfaust

#31500 es mi detector de pajeets personal. la desgracia es que está el mercado lleno de pajeets

HeXaN

Aquí hay más de uno que no sabría hacerlo.

1 respuesta
Ranthas

#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.

1 respuesta
HeXaN

#31503 Esperando sus soluciones estoy.

1 respuesta
B

#31499 #31500 Como lo hacéis sin bucles? A mí lo que me llama es hacer en plan rápido (java):

public int pollazo(int[ ] array){
   int suma = 0;
   for(int i: array){
      if ( i % 2 == 0){
         suma += Math.pow( i , 2 );
      }
   }
   return suma;
}

#31504 Si te sirve... xD

3 respuestas
HeXaN

#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)
2 respuestas
B

#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?

2 respuestas
HeXaN

#31507 No son movidas varias, son cosas básicas xD Es Python, por cierto.

1 respuesta
Ranthas

#31505 filter, reduce.

collectionVariable.stream().filter(x -> x%2 == 0).reduce(aqui metes la funcion de suma al cuadrado)

B

#31508 Puede ser JAJAJAJAJA Yo que se pato, si yo solo el mas pollo de aquí como dicen en la mili.

Fyn4r

#31506 una list comprehension cuenta como bucle? XD

2 respuestas
B

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?

Traber
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
Ranthas

#31511 Sabes muy bien que cuack

1
B

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 );
   }
1 respuesta
afhn

#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.

B

#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));

1 respuesta
Ranthas

#31517 Tienes que hacer la suma de los elementos pares al cuadrado; es un reduce, no crear una nueva coleccion

1
HeXaN

#31511 Por si las moscas no lo he usado xD

1
B

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.

Lecherito

listOf(1,2,3,4,5).filter { it % 2 == 0 }.map { it * it }.sum()

Ez pez 30 segundos.

1
yasurio

#31515 No se pone porque para eso está el trabajo xD

1 respuesta
HeXaN

#31522 Al menos con las respuestas que se han puesto has aprendido a hacerlo.

1 respuesta
afhn
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.

babri

<html>
<head><title>Resultado</title>
<body>
<div><span><3</span></div>
</body>
</html>

Prueba hecha

5
Wei-Yu

IntStream.of(array)

no sé si son peores las lambdas de python o eso

yasurio

#31523 No soy el unico tu tambien

desu
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)
2 respuestas
HeXaN

Sobretodo legibilidad.

2 respuestas
desu

#31529 Las lambdas son malas prácticas

el dia que tengas que programar algo de verdad y no python lo entenderas

3 respuestas
Tema cerrado