【排序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];
}
上一篇:Java高并发架构之并发编程-002


下一篇:14.第四章 Linux用户、组和权限管理 -- 文件权限管理、Linux文件系统上的特殊权限(二)