Python :: Aufgabe #304 :: Lösung #3

4 Lösungen Lösungen öffentlich
#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ß
#3
vote_ok
von vMaex (540 Punkte) - 30.01.2021 um 13:24 Uhr
Quellcode ausblenden Python-Code
arr1 = [1, 2, 3]
arr2 = [4, 5, 6]


def median():
    master_arr = arr1 + arr2
    master_arr.sort()

    if master_arr == []:
        print('Der Meridian ist: 0')
    else:
        laenge = len(master_arr)
        gerade_ungerade = laenge/2
        gerade_ungerade = str(gerade_ungerade).find('.5')

        if gerade_ungerade == -1:
            meridian2 = laenge // 2
            meridian1 = meridian2 - 1
            ergebnis = (master_arr[meridian1] + master_arr[meridian2]) / 2
            print('Der Meridian ist:', ergebnis)
        else:
            ergebnis = master_arr[int(laenge/2 - 0.5)]
            print('Der Meridian ist:', ergebnis)

median()

Kommentare:

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

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

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.