Python :: Aufgabe #361 :: Lösung #1
2 Lösungen
#361
n kleinste Paarsummen als Array
Anfänger - Python
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ß
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
von eisheiliger (3750 Punkte)
- 17.07.2021 um 19:53 Uhr
Python-Code
"""" #361: n kleinste Paarsummen als Array 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. """ def kps(arr1, arr2, n): arro, arrp, arrq = [], [], [] for i in range(0, len(arr1)): for j in range(0, len(arr2)): arro.append([arr1[i] + arr2[j], [arr1[i], arr2[j]]]) arro = sorted(arro) z = min(len(arro), n) for i in range(0, z): arrp.append(arro[i][1]) arrq.append(arro[i][0]) print("Zahlenpaare:", arrp) print("Paarsummen: ", arrq) kps([1, 2, 3], [2, 3, 7], 3) kps([1, 1, 2], [1, 2, 3], 2) kps([1, 2], [-5], 3)
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1