zu vermeiden, damit ich eine Codierung Herausforderung lösen und mein Code in Testfällen mit einer großen Anzahl von Eingaben wegen Timeout fehlgeschlagen.Gibt es eine Möglichkeit, verschachtelte "for" Schleifen in Java
Ich muss eine Simulation von "zählen" mal machen. jede Simulation wird eine Zufallszahl zwischen 0 und 364 von "Größe" mal jede Zahl sollte gespeichert und gezählt werden, wenn zwei Zahlen im gleichen Index gespeichert sind, was bedeutet, dass die Zahl '2' dann Hits ++ den Prozentsatz der Treffer zurückgibt in Bezug auf "count"
public double calculate(int size, int count) {
// TODO -- add your code here
int Hits=0;
for(int j=1;j<=count;j++) { // number of simulation
int BirthDays[]=new int[365];
Random rnd = new Random();
rnd.setSeed(j);
for(int i=0;i<size;i++){ //number of people
int x=rnd.nextInt(365);
BirthDays[x]=BirthDays[x]+1;
if(BirthDays[x]>=2){
Hits++;
break;
}
}
}
return(((float)Hits/count)*100);
}
so gibt es einen Weg, um die Zeit Komplexität zu reduzieren? Die Datenstruktur kann geändert werden, sie ist nicht exklusiv für Arrays.
@Jiri Sie mögen nicht "Hey"? –
@AdriaanKoster Das war eigentlich nicht ich, siehe Revisionsgeschichte. Ich mochte das zusätzliche Zitat in Titel nicht :) –
@TheBakker Wie würde das helfen? –