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