Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

129
Views
¿Cree una lista de enteros aleatorios usando Stream y sume todos los elementos excepto el más pequeño?

Quiero generar 4 números aleatorios, del 1 al 6 inclusive. Luego quiero obtener la suma de estos elementos excluyendo el valor más pequeño.

Actualmente estoy creando una secuencia para completar una lista:

 List<Integer> values = r.ints(4,1,7).boxed().collect(Collectors.toList())

Luego elimino el valor más pequeño y uso otra secuencia para obtener la suma de los valores:

 values.stream().mapToInt(Integer::intValue).sum();

¿Alguien puede sugerir una forma de realizar todas estas operaciones en una sola secuencia?

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Ordene la secuencia, luego omita el primer elemento (es decir, el más pequeño):

 int sumExceptSmallest = IntStream.of(4,1,7).sorted().skip(1).sum(); // 11

o en su caso específico:

 int sumExceptSmallest = r.ints(4,1,7).sorted().skip(1).sum();

Tenga en cuenta que si bien esto puede ser lo mejor y lo más eficiente para el codificador , no es la solución más eficiente posible porque la clasificación tiene una complejidad de tiempo de O (n log n). El tiempo de ejecución más eficiente sería un solo paso para encontrar el más pequeño y calcular la suma, luego restar uno del otro, dando la solución en O(n) tiempo.

over 4 years ago · Santiago Trujillo Report

0

El uso de IntSummaryStatistics puede calcular esto en su transmisión con un solo paso:

 IntStream stream = /* random stream of integers */; IntSummaryStatistics stats = stream.summaryStatistics(); int sum = stats.sum(); sum -= stats.min(); //sum, minus the lowest element
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!