Thách thức là viết ra triển khai ngắn nhất để tìm ra sự gia tăng dài nhất .
Ví dụ : Gọi S là dãy 1 5 7 1 8 4 3 5 [độ dài của S = 8]
- Chúng tôi có 1 chuỗi con có độ dài 0 [sẽ xem xét nó tăng]
- 6 chuỗi con có độ dài 1 {1,5,7,8,4,3} [tất cả chúng được coi là tăng]
- (7 * 8) / 2 chuỗi con có độ dài 2 [nhưng chúng tôi sẽ loại bỏ các bản sao], các tiểu mục tăng dần có màu đen mạnh.
{ 15,17 , 11, 18,14,13,57 , 51, 58 , 54,53,55,71, 78 , 74,73,75,84,83,85,43, 45,35 }
[lưu ý rằng chúng tôi chỉ quan tâm đến các chuỗi con tăng nghiêm ngặt]
[bạn không thể thay đổi thứ tự của các thành phần bên trong chuỗi, do đó không có chuỗi con [37] trong chuỗi ví dụ]
- Chúng tôi đã tăng các chuỗi con có độ dài 4 là 1578, nhưng không có chuỗi con có độ dài 5, vì vậy chúng tôi xem xét độ dài của chuỗi con tăng dài nhất = 4.
Đầu vào :
a 1 a 2 ... a N (Trình tự)
tất cả các số là số nguyên dương nhỏ hơn 10 3
N <= 1000
Đầu ra :
Một số nguyên biểu thị độ dài của chuỗi con tăng dài nhất của chuỗi đầu vào.
sample input(1)
1 2 4 2 5
sample output(1)
4
sample input(2)
1 5 7 1 8 4 3 5
sample output(2)
4
Mã của bạn phải chạy kịp thời, vui lòng kiểm tra mã của bạn trong trường hợp này trước khi gửi nó ở đây (cũng là liên kết chứa giải pháp c ++ 11 290 byte của tôi)
Bạn có thể lấy đầu vào từ tệp / stdin hoặc làm tham số hàm và bạn có thể in đầu ra thành tệp / thiết bị xuất chuẩn hoặc chỉ trả về giá trị nếu bạn viết hàm
Bảng điểm
- Dennis CJam - 22
- isaacg Pyth - 26
- Howard GolfScript - 35
- người bán hàng tự hào Haskell - 56
- Ray Python 3 - 66
- histocrat Ruby - 67
- DLeh C # - 92
- Áo choàng YosemiteMark - 94
- faubiguy Python 3 - 113
function f(){...}) hay hàm bên trong (chỉ ...)? Nếu chúng ta đếm các chức năng bên ngoài, các chức năng ẩn danh có được phép không?