一、题目 点此看题 二、解法 这道题真的考思维。 有一个常见的问题转化,求冒泡的区间长度其实等价于求每个点被冒泡的次数。那么这个次数好不好求呢?我们需要考虑分割点的含义,如果一个序列全是分割点那么它就是有序的,然后对于一个位置如果两边都是分割点那么它就在正确的位置上。 如果求出了分割点出现的时间就知道了每个点冒泡的次数,因为他取决与两边分割点出现的最大时间。时间怎么求?我们把 i i i和 i + 1 i+1 i+1的分割点放在 i i i上,位置 i i i对应的应出现值是 i i i,如果后面有比 i i i小的就必须要移到