题目描述
题目描述
题解
题解
提交记录
提交记录
简单

给你一个整数数组 nums 和一个整数 target。

当一个由 不同 下标组成的二元组 (i, j) 满足以下条件,称它是 有效的 :

  • nums[i] + nums[j] == target
  • nums[i] > nums[j]

返回一个 有效的 二元组 [i, j],使其 乘积 nums[i] * nums[j] 在所有有效二元组中是 最大 的。如果不存在有效的二元组,返回 [-1, -1]。

如果有多个有效二元组都能达到 最大 乘积,你可以返回其中的 任意一个 。

 

示例 1:

输入: nums = [1,2,3,4], target = 5

输出: [2,1]

解释:

存在 2 个有效的二元组:

序号(i, j)nums[i]nums[j]和积
1(3, 0)4154
2(2, 1)3256

两个二元组的和均为 5 且满足 nums[i] > nums[j]。第二个二元组的乘积更大,3 * 2 = 6,因此答案是 [2, 1]。

示例 2:

输入: nums = [-3,-1,4,2], target = 1

输出: [3,1]

解释:

存在 2 个有效的二元组:

序号(i, j)nums[i]nums[j]和积
1(2, 0)4-31-12
2(3, 1)2-11-2

由于 -2 > -12,因此选择下标 (3, 1) 对应的二元组,答案是 [3, 1]。

示例 3:

输入: nums = [3,3,5], target = 6

输出: [-1,-1]

解释:

不存在有效的二元组,因为 nums[0] 和 nums[1] 的和虽然为 6,但它们是相等的。

 

提示:

  • 2 <= nums.length <= 100
  • -100 <= nums[i], target <= 100
 
代码
代码
测试用例
测试用例
测试结果
测试结果