给你一个长度为 n 的整数数组 nums。
如果一对下标 (i, j) 满足以下所有条件,则称其为一个影子对 :
0 <= i < j < nnums[i] < nums[j]k,使得 i < k < j 且 nums[k] < nums[i] < nums[j]。返回 影子对 的总数。
示例 1:
输入: nums = [3,1,4,1,5]
输出: 3
解释:
(i, j) | nums[i] | nums[j] | 为何是影子对 |
|---|---|---|---|
| (1, 2) | 1 | 4 | 不存在满足 1 < k < 2 的下标 k |
| (1, 4) | 1 | 5 | nums[2] = 4 和 nums[3] = 1 都不小于 1 |
| (3, 4) | 1 | 5 | 不存在满足 3 < k < 4 的下标 k |
因此,答案为 3。
示例 2:
输入: nums = [6,7,6,6,7]
输出: 4
解释:
(i, j) | nums[i] | nums[j] | 为何是影子对 |
|---|---|---|---|
| (0, 1) | 6 | 7 | 不存在满足 0 < k < 1 的下标 k |
| (0, 4) | 6 | 7 | nums[1] = 7、nums[2] = 6 和 nums[3] = 6 都不小于 6 |
| (2, 4) | 6 | 7 | nums[3] = 6 不小于 6 |
| (3, 4) | 6 | 7 | 不存在满足 3 < k < 4 的下标 k |
因此,答案为 4。
示例 3:
输入: nums = [1,2,3,4]
输出: 6
解释:
(i, j) | nums[i] | nums[j] | 为何是影子对 |
|---|---|---|---|
| (0, 1) | 1 | 2 | 不存在满足 0 < k < 1 的下标 k |
| (0, 2) | 1 | 3 | nums[1] = 2 不小于 1 |
| (0, 3) | 1 | 4 | nums[1] = 2 和 nums[2] = 3 都不小于 1 |
| (1, 2) | 2 | 3 | 不存在满足 1 < k < 2 的下标 k |
| (1, 3) | 2 | 4 | nums[2] = 3 不小于 2 |
| (2, 3) | 3 | 4 | 不存在满足 2 < k < 3 的下标 k |
因此,答案为 6。
提示:
3 <= n == nums.length <= 1051 <= nums[i] <= 109