很久之前开发某个金融项目时遇到的,现在突然回想起来,觉得可以作为一个题目。
设 a 是一个长度至少为 3 的 []int。如果
- 0 <= i < j < len(a),j - i >= 2
- a[j] >= a[i]
- 对任意 k,i < k < j,有 a[k] < a[i]
则称二元组 (i, j) 是一个套。此时 j - i 称为套的长。
要计算 a 中最长的套,如果最长的不止一个,找到一个就行。
有疑问加站长微信联系(非本文作者)