Xem xét một chuỗi số một chiều trong một phạm vi cố định, nghĩa là
[1, 2, 4, 6, 8, 0, 2, 7, 3] in range [0, 10⟩
Biểu đồ tăng dần * ** là một đường kết nối tất cả các điểm trong chuỗi này từ trái sang phải và luôn đi lên hoặc duy trì mức. Nếu cần thiết, dòng kết thúc từ trên xuống dưới và tiếp tục đi lên từ đó để đáp ứng điểm tiếp theo.
Mục tiêu của thử thách này là phân chia chuỗi theo các chuỗi khác nhau, tất cả đều không tăng, do đó, khi được vẽ cùng với trục dọc hạn chế, chúng sẽ tạo thành một Đồ thị tăng dần. Điều này được thực hiện bằng cách thêm một điểm vào cuối của một chuỗi con và bắt đầu một điểm tiếp theo, sao cho góc của đường thẳng vượt qua ranh giới trên cùng thẳng hàng với đường thẳng vượt qua ranh giới dưới cùng và hai điểm giao nhau có cùng tọa độ ngang. Ví dụ trên sẽ cho đầu ra sau:
[1, 2, 4, 6, 8, 10]
[-2, 0, 2, 7, 13]
[-3, 3]
Và biểu đồ tương ứng sẽ như sau: Và với trục được mở rộng để có cái nhìn tốt hơn: Đầu ra bắt buộc là một danh sách các chuỗi con tạo thành các phần của Biểu đồ tăng dần. Tạo một cốt truyện là không bắt buộc nhưng sẽ kiếm được điểm thưởng cho bạn;). Đầu ra phải phân tách rõ ràng các phần sau theo một cách nào đó.
Ghi chú
- Phạm vi sẽ luôn có 0 là ranh giới bên trái (bao gồm) và ranh giới bên phải sẽ là một số nguyên N.
- Chuỗi sẽ không bao giờ chứa các giá trị không nằm trong phạm vi.
- Phần đầu tiên không có điểm bổ sung lúc đầu.
- Phần cuối cùng không có điểm bổ sung ở cuối.
- Không bắt buộc phải cung cấp các chỉ số bắt đầu sẽ được yêu cầu để vẽ các chuỗi con.
Các trường hợp thử nghiệm
Input: [0, 2, 4, 6, 1, 3, 5, 0], 7
Output: [0, 2, 4, 6, 8], [-1, 1, 3, 5, 7], [-2, 0]
Input: [1, 1, 2, 3, 5, 8, 3, 1], 10
Output: [1, 1, 2, 3, 5, 8, 13],[-2, 3, 11],[-7, 1]
Input: [5, 4, 3, 2, 1], 10
Output: [5, 14],[-5, 4, 13],[-6, 3, 12],[-7, 2, 11],[-8, 1]
Input: [0, 1, 4, 9, 16, 15, 0], 17
Output: [0, 1, 4, 9, 16, 32], [-1, 15, 17], [-2, 0]
Chấm điểm
Đây là code-golf, mã ngắn nhất tính bằng byte thắng.
* Không phải biệt ngữ thực tế ** Thực tế nên được gọi là Đồ thị không giảm, như @ngm đã chỉ ra, nhưng điều đó nghe có vẻ ít ấn tượng hơn.