Herausforderungsbeschreibung
Eine monotone Teilfolge ist eine Folge von Zahlen, [a1, a2, ..., an]
so dass
a1 <= a2 <= ... <= an
oder a1 >= a2 >= ... >= an
. [1, 3, 3, 7, 9, 13, 13, 100]
ist eine monotone (nicht abnehmende) Folge sowie [9, 4, 4, 3, 0, -10, -12]
(diese ist nicht ansteigend), ist es aber [1, 3, 6, 9, 8]
nicht. Geben Sie bei einer Liste von Ganzzahlen (in jedem vernünftigen Format) die kleinste Zahl N
so aus, dass die Folge dieser Ganzzahlen in N
monotone Folgen aufgeteilt werden kann.
Beispiele
[1, 3, 7, 5, 4, 2] -> [[1, 3, 7], [5, 4, 2]] -> 2
[1, 2, 3, 4, 5, 6] -> [1, 2, 3, 4, 5, 6] -> 1
[3, 1, 5, 5, 6] -> [[3, 1], [5, 5, 6]] -> 2
[4, 6, 8, 9, 1, 6] -> [[4, 6, 8, 9], [1, 6]] -> 2
[3, 3, 3, 3] -> [[3, 3, 3, 3]] -> 1
[7] -> [[7]] -> 1
[] -> [] -> anything (you don't actually have to handle an empty list case)
[1, 3, 2, -1, 6, 9, 10, 2, 1, -12] -> [[1, 3], [2, -1], [6, 9, 10], [2, 1, -12]] -> 4
[4,4,8,8,1,4,5] -> 2
0 / undefined
, es hört sich so an, als ob es entweder 0 oder die Darstellung undefined
in unserer Sprache sein sollte, aber aus Ihrem Kommentar zu Jonathan Allans Gelee-Antwort geht hervor, dass es undefined
bedeutet anything
... Welches ist es? ? Im zweiten Fall würde ich vorschlagen, anything
anstelle vonundefined