Wir haben die nachfolgende Aufgabe als Übung bekommen:
Ich habe es einfach mal probiert in Java umzusetzen und muss gestehen...effizient ist etwas anderes xD Könnte mir jemand Tipps geben diese Aufgabe in Zukunft effizienter zu lösen
Hier ist der Code:
Edit: Meine Lösung ist falsch...Ich habe die Aufgabenstellung falsch verstanden xD Naja dann ist es relativ einfach xD Ihr könnt ja trotzdem diesen Code optimieren
Ich habe es einfach mal probiert in Java umzusetzen und muss gestehen...effizient ist etwas anderes xD Könnte mir jemand Tipps geben diese Aufgabe in Zukunft effizienter zu lösen
Hier ist der Code:
Java:
public static void main(String[] args) {
int[] numbers = {2,4,3,2,2,1,4,5};
searchDuplicates(numbers);
}
public static void searchDuplicates(int[] numbers) {
int tempValue = 0;
int[] used = new int[numbers.length];
int arrayCounter = 0;
int counter = 0;
for(int i = 0; i < numbers.length; i++) {
tempValue = numbers[i];
if(!existanceCheck(used, tempValue)) {
used[arrayCounter] = tempValue;
arrayCounter++;
for(int j = 0; j < numbers.length; j++) {
if(tempValue == numbers[j]) {
counter++;
}
}
System.out.println("Die Zahl " + tempValue + " kommt " + counter + " mal im Array vor!");
counter = 0;
}
}
}
public static boolean existanceCheck(int[] arr, int number) {
for(int i = 0; i < arr.length; i++) {
if(number == arr[i]) {
return true;
}
}
return false;
}
Edit: Meine Lösung ist falsch...Ich habe die Aufgabenstellung falsch verstanden xD Naja dann ist es relativ einfach xD Ihr könnt ja trotzdem diesen Code optimieren