认真读题可以发现,本题中数之间的相对位置并不重要,于是我们可以想到将它们按权值排序。同时,由于相同的数字并不能同时出现在答案中,所以可将排序后的数列去重。 考虑枚举排序后的数列,假设当前枚举到 ,记 表示以 为结尾的最长连续子序列。可以发现,如果 ,那么该序列的长度可以 ,否则只能重新开始计算。 算法流程如图 : 这样做,我们只需要经过 “排序”,“去重” 和 “枚举计算” 三个步骤就可以将答案计算出来,复杂度瓶颈在排序,可以使用快速排序算法,时间复杂度 前两步还有另外一种方法,即使用 自带的 函数 ,它可以自动完成排序和去重功能,用法如下 : S.insert(x) :将 插...