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 🙂