时间复杂度O(nlogn) 我觉得大家的方案都有点太麻烦了……观察目标函数:区间中的最小数*区间所有数的和第一反应就是按照值从小到大处理点,这样的话区间中的最小数*就已知了,我们只用考虑区间就行。 那么,区间有多大呢?其实题目中又一个很强的约束 区间内的所有数字都在[0, 100]的范围内; 因此区间自然是越大越好,具体来说,向左延伸到比他小的数字,向右延伸到比它小的数字。换个角度来说:我们插入的点把区间切成两半了,每次处理新的点时,我们只需要获取它当前的区间就行。 那么如何获取区间呢?显然的,右端点:最小的比它大的切分点,左端点:最大的比它小的切分点平衡二叉树的经典使用场景。 时间复杂度...