不详细题解

zhuliqin 2024-01-13 23:22:00 2024-01-13 23:24:32 7 返回题目

时间紧,没有代码

标签 :

做法

对于每个 ,我们暴力向左右查找 的数,再用乘法原理计算即可。

例如,当 时,对于 ,我们的查找过程如下:

找到
计算。
对于右端点 ,可选的左端点只有 加上
对于右端点 ,可选的左端点有 加上
因此答案为

时间复杂度

正解

回顾做法 ,瓶颈在于 「暴力向左右查找」。

考虑维护 「双向链表」

我们从小到大处理每个数,像原来一样查找, 但查完后删除这个数,因为这个数不会再被用到。时间复杂度 。注意计算时相互匹配,使得匹配到的两个数在链表上距离为 ,然后统计答案。

{{ vote && vote.total.up }}