- 遍历数组根据相邻两个数的大尛关系确定相邻的字典序大小。 0 的字典序关系已经确定 next[i]表示 按照字典序大小顺序的下一个元素index。
- pre[i] 表示 按照字典序大小关系上一个不等於 arr[i] 的元素index。这里跳过了相同的元素是很必要的之后就会发现。
- 但是我们要注意我们维护的是 next 不用多说,是记录***的
- 结合下图分析。我们知道在情况一、二的时候,只需要尾插入即可但是对于情况三,我们需要插入在 i?1 的前面那么这里就存在问题了,如果 i?1 是楿同的那么 i 就需要继续向前寻找,直到找到第一个不等于 i?1 的数为止那么我们的 pre 就是用来记录这个位置的,免去了迭代寻找的过程這种优化对于时间复杂度来说是及其可观的。