第一题维护最大堆,最小堆,堆元素都是pair(val, idx),然后每次从最小堆中读取最小idx,读取之前懒删除,就是读取最小时判断堆顶是否和数组中数据一致,取出最小idx,更新数组,然后插入最小堆最大堆,更新最大堆堆顶,然后取出堆顶就可以了, 第二题的话,找出前缀递增和后缀递增,对每一个前缀递增中的元素,二分查找后缀递增中比它前一位大的元素个数,大概是len(suf_arr) - 二分lb 的下标加1,需要特判前缀第1个 第三题,简单二分答案,我觉得最简单的了,但是好像会卡一个特判,特判是如果没有w,输出0