Java :: Aufgabe #375 :: Lösung #1

1 Lösung Lösung öffentlich
#375

n kleinste Paarsummen als Array

Anfänger - Java von JKooP - 05.06.2021 um 16:27 Uhr
Gegeben sind 2 sortierte Arrays (arr1, arr2) gleicher oder unterschiedlicher Länge
und eine Zahl (n) welche die maximale Anzahl der kleinsten auszugebenden Paarsummen vorgibt.
Jedes Array kann 1 bis zu 10.000 Zahlen der Größe +-1.000.000 beinhalten.
Der Wert für n soll nicht weniger als 1 und nicht mehr als 1.000 betragen.

Ziel soll es sein, die n kleinsten aller möglichen Paarsummen als Array zurückzugeben.

Beispiele:

arr1 = [1,2,3]; arr2 = [2,3,7]; n = 3
Lösung: [[1,2], [1,3], [2,2]], denn [1,2], [1,3], [1,7], [2,2], [2,3], [2,7], [3,2], [3,3], [3,7]
Summen: 3, 4, 8, 4, 5, 9, 5, 6, 10 => 3, 4, 4

arr1 = [1,1,2]; arr2 = [1,2,3]; n = 2
Lösung: [[1,1], [1,1]], denn [1,1], [1,2], [1,3], [1,1], [1,2], [2,3], [2,1], [2,2], [2,3]
Summen: 2, 3, 4, 2, 3, 5, 3, 4, 5

arr1 = [1,2]; arr2 = [-5]; n = 3
Lösung: [[1,-5], [2,-5]]
Summen: -4, -3

Schreibe eine Methode/Funktion, die obige Aufgabenstellung umsetzt.
Je nach Programmiersprache könne auch Vektoren, Listen, etc. verwendet werden.

Viel Spaß
#1
vote_ok
von Mohsen (240 Punkte) - 07.08.2021 um 12:55 Uhr
Quellcode ausblenden Java-Code
int arr1[] = { 1, 2, -10, 3, 0 };
		int arr2[] = { 26, 1, 4, 2, -8, 3, 7 };

		minMembers(arr1, arr2);
	}

	public static void minMembers(int[] arr1, int arr2[]) {
		int min = arr1[0] + arr2[0];

		for (int i = 0; i < arr1.length; i++) {
			for (int j = 0; j < arr2.length; j++) {
				if (min > arr1[i] + arr2[j]) {
					min = arr1[i] + arr2[j];
				}
			}
		}
		if (min<0||min>1000) {
		System.out.println("Summ Kleineste Members ist kliner als 0 oder großer als 1000 !!! ");

		}
		else System.out.println("Summ Kleineste Members ist: "+min);
	}

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben
1970838

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.