-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathMain.java
More file actions
47 lines (40 loc) · 1.3 KB
/
Copy pathMain.java
File metadata and controls
47 lines (40 loc) · 1.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import java.util.ArrayList;
public class Main {
// main di prova
public static void main(String[] args) {
/*
* int[] numeri = { 2, 5, 7, -3, 12, 4 }; // un qualsiasi array di interi
*
* int max = massRic(numeri, numeri.length);
* System.out.println("Valore massimo = " + max);
*/
// commentato il vecchio main
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(40);
list.add(1);
list.add(2);
list.add(-2);
list.add(45);
list.add(10);
list.add(20);
list.add(-20);
list.add(4);
System.out.println(CalcolatoreSmart.getMaxValue(list));
}
}
class CalcolatoreSmart {
public static Integer getMaxValue(ArrayList<Integer> listaValori) {
Integer primoElemento = listaValori.get(0);
if (listaValori.size() == 1) {
return listaValori.get(0);
}
ArrayList<Integer> restoLista = new ArrayList<Integer>(listaValori.subList(1, listaValori.size()));
Integer maxRestoLista = getMaxValue(restoLista);
//massimo tra 2 elementi può essere ottimizzato
if (primoElemento > maxRestoLista) {
return primoElemento;
} else {
return maxRestoLista;
}
}
}