Ciao ragazzi e grazie delle risposte negli altri topic.
Tanto per cambiare ho un altro problema che non riesco a risolvere
Scrivere un metodo
static int[] sommaMassima (int[] a)
in Java, che preso come parametro un array di numeri interi, restituisce un sottoarray di a (di elementi consecutivi) avente somma massima in a.
Ad esempio, se a = {-10, 35, -20, 50, -30, -14, 2, 19} il metodo deve restituire il sottoarray {35, -20, 50} che è quello di somma massima.
Non so proprio come strutturare la risoluzione ho cercato di basarmi su un altro metodo che ti trova la somma massima per farmi una idea ma niente. Per somma massima intendo questo
Dite che questo codice potrebbe aiutarmi? Poi avrei anche una domanda, perchè in questo codice ci sono 2 cicli for? Perchè c'è anche il ciclo j?
public class esempio {
public static void main(String[] args) {
// TODO Auto-generated method stub
}
static int sommaArrayMax(int[]a){
int sommaMax = a[0];
for ( int i=0; i<a.length; i++){
int somma=0;
for (int j=i; j<a.length; j++){
somma += a[j];
if (somma > sommaMax) {sommaMax = somma;}
}
} return sommaMax;
}
}