Python :: Aufgabe #343 :: Lösung #2

2 Lösungen Lösungen öffentlich
#343

Längste aufsteigende Zahlenfolge im Array

Anfänger - Python von JKooP - 16.04.2021 um 18:05 Uhr
Gegeben ist ein Array bestehend aus aufsteigenden Integer-Zahlenfolgen,
die hin und wieder durch nicht in die Folge passende Zahlen unterbrochen werden.
Ziel soll es sein, die längste aufsteigende Zahlenfolge zu ermittelt.

Beispiel 1:
arr = {1, 3, 5, 4, 7, 8, 9, 10, 6, 2, 3, 4}
Lösung: 5 => {4, 7, 8, 9, 10}

Beispiel 2:
arr = {5, 5, 5, 5, 5}
Lösung: 1 => {5}

Schreibe eine Methode/Funktion, die als Ergebnis die Länge der längsten Zahlenfolge ausgibt.

Viel Spaß
#2
vote_ok
von AlexGroeg (2010 Punkte) - 17.04.2021 um 18:35 Uhr
Quellcode ausblenden Python-Code

def ist_längste_aufsteigende_zahlenfolge(arr):    
    zahlenfolge = [arr[0]]
    z = []
    for i in range(1,len(arr)):
        if arr[i-1] == arr[i]-1:
            zahlenfolge.append(arr[i])
        else:
            if len(zahlenfolge) > 1:
                z.append(zahlenfolge.copy())
            zahlenfolge.clear()
            zahlenfolge.append(arr[i])
            
    z.append(zahlenfolge.copy())
    return max(z)


beispiele = [[1, 3, 5, 4, 7, 8, 9, 10, 6, 2, 3, 4], 
             [5, 5, 5, 5, 5]]

for arr in beispiele:
    print(ist_längste_aufsteigende_zahlenfolge(arr))

Kommentare:

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

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

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.