Python :: Aufgabe #304 :: Lösung #4
4 Lösungen
#304
Median zweier zusammengefügter Arrays
Fortgeschrittener - Python
von JKooP
- 21.11.2020 um 07:46 Uhr
Es soll der Median (Zentralwert) eines sortierten Arrays,
das aus zwei (beliebig großen) zusammengefügten sortierten Arrays besteht, ermittelt werden.
Beispiele:
arr1 = [1, 3] arr2 = [2]
mergeSorted = [1, 2, 3] -> Median = 2
arr1 = [2, 4] arr2 = [1, 3]
mergeSorted = [1, 2, 3, 4] -> Median = 2.5
(wenn kein Zentralwert vorhanden ist, dann wird das arithmetische Mittel der beiden mittleren Zahlen ermittelt)
-> (2+3) / 2 = 2.5
Weitere Beispiele:
[0, 0] [0, 0] -> 0
[] [4] -> 4
[3] [] -> 3
[] [] -> 0
[-4, 4] [-2, 1] -> [-4, -2, 1, 4] -> -0.5
Fortgeschrittene können die Funktion/Methode dahingehend erweitern,
sodass sowohl mindestens 2 Arrays aufgenommen werden,
als auch auch ein Array bzw. eine Liste von Arrays verarbeitet werden kann.
Viel Spaß
das aus zwei (beliebig großen) zusammengefügten sortierten Arrays besteht, ermittelt werden.
Beispiele:
arr1 = [1, 3] arr2 = [2]
mergeSorted = [1, 2, 3] -> Median = 2
arr1 = [2, 4] arr2 = [1, 3]
mergeSorted = [1, 2, 3, 4] -> Median = 2.5
(wenn kein Zentralwert vorhanden ist, dann wird das arithmetische Mittel der beiden mittleren Zahlen ermittelt)
-> (2+3) / 2 = 2.5
Weitere Beispiele:
[0, 0] [0, 0] -> 0
[] [4] -> 4
[3] [] -> 3
[] [] -> 0
[-4, 4] [-2, 1] -> [-4, -2, 1, 4] -> -0.5
Fortgeschrittene können die Funktion/Methode dahingehend erweitern,
sodass sowohl mindestens 2 Arrays aufgenommen werden,
als auch auch ein Array bzw. eine Liste von Arrays verarbeitet werden kann.
Viel Spaß
#4
von eisheiliger (3750 Punkte)
- 30.03.2021 um 16:44 Uhr
Python-Code
""" #304: Median zweier zusammengefügter Arrays Es soll der Median (Zentralwert) eines sortierten Arrays, das aus zwei (beliebig großen) zusammengefügten sortierten Arrays besteht, ermittelt werden. """ import statistics import numpy as np def medi(item): if not item: item.append(0) print(np.sort(item), "Median:", statistics.median(item)) def main(): medi([1, 3] + [2]) medi([2, 4] + [1, 3]) medi([0] + [0]) medi([] + [4]) medi([3] + []) medi([] + []) medi([-4, 4] + [-2, 1]) if __name__ == '__main__': main()
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1