Mô tả thử thách
Một chuỗi đơn điệu là một chuỗi các số [a1, a2, ..., an]sao cho
a1 <= a2 <= ... <= anhoặc a1 >= a2 >= ... >= an. [1, 3, 3, 7, 9, 13, 13, 100]là một chuỗi con đơn điệu (không giảm), cũng như [9, 4, 4, 3, 0, -10, -12](cái này không tăng), nhưng [1, 3, 6, 9, 8]không. Đưa ra một danh sách các số nguyên (ở bất kỳ định dạng hợp lý nào), xuất ra số nhỏ nhất Nsao cho chuỗi các số nguyên này có thể được chia thành Ncác chuỗi đơn điệu.
Ví dụ
[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, nó có vẻ như là 0 hoặc đại diện undefinedtrong ngôn ngữ của chúng tôi, nhưng từ nhận xét của bạn về câu trả lời Jelly của Jonathan Allan, có vẻ như đó undefinedlà anything... ? Trong trường hợp thứ hai, tôi sẽ đề nghị viết anythingthay vìundefined