Programmieraufgabe Computerorientierte Mathematik I
Aufgabe
Eine endliche Folge reeller Zahlen a0, …, ad heisst unimodular falls es ein i ∈ {0, .., d} gibt, sodass
a0 ≤ a1 ≤ … ≤ ai ≥ ai+1 ≥ …ad
gilt. Schreiben Sie eine Funktion maxunimod(L), die zu einer gegebenen int-Liste L der L¨ange
n ≥ 1 die maximale L¨ange einer (zusammenh¨angend) enthaltenen unimodularen Folge zuru¨ckgibt.
Beispielaufrufe
Die Liste
L = [4, 5, 3, 2, 1, 3, 6, 4, 7]
enth¨alt beispielsweise die beiden unimodularen Folgen 4, 5, 3, 2, 1 und 1, 3, 6, 4 der L¨angen 5 bzw. 4. Die erste hat maximale L¨ange, daher soll maxunimod(L) den Wert 5 zuru¨ckgeben.
1>>> maxunimod ( [ 4 , 5 , 3 , 2 , 1 , 3 , 6 , 4 , 7 ] )
2 5
3>>> maxunimod ( [ 1 0 , 9 , 8 , 1 0 , 6 , 5 , 4 , 3 , 2 , 3 ] )
4 7
5>>> maxunimod ( [ 1 0 , 9 , 8 , 7 , 6 , 5 , 4 , 3 , 2 , 3 ] )
6 9
7>>> maxunimod ( [ 1 0 , 9 , 8 , 7 , 6 , 5 , 4 , 3 , 2 , 1 ] )
8 10
1