其他分享
首页 > 其他分享> > 【排序002】两个数对之间的最大乘积

【排序002】两个数对之间的最大乘积

作者:互联网

两个数对之间的最大乘积

两个数对 (a, b) 和 (c, d) 之间的 乘积差 定义为 (a * b) - (c * d) 。

例如,(5, 6) 和 (2, 7) 之间的乘积差是 (5 * 6) - (2 * 7) = 16 。
给你一个整数数组 nums ,选出四个 不同的 下标 w、x、y 和 z ,使数对 (nums[w], nums[x]) 和 (nums[y], nums[z]) 之间的 乘积差 取到 最大值 。

返回以这种方式取得的乘积差中的 最大值 。

public int maxProductDifference(int[] nums) {
    //小根堆  大根堆
    Arrays.sort(nums);
    return nums[nums.length - 1] * nums[nums.length - 2] - nums[0] * nums[1];
}

标签:乘积,nums,int,数对,002,length,之间
来源: https://blog.csdn.net/qyj19920704/article/details/122157398