Java :: Aufgabe #375

1 Lösung Lösung öffentlich

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ß

Lösungen:

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);
	}
1960196

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.