1. 題目
2. 描述
給你一個整數數組
nums
,請你選擇數組的兩個不同下標i
和j
_,_使(nums[i]-1)*(nums[j]-1)
取得最大值。請你計算並返回該式的最大值。
3. 思路
將數組進行排序後,取最後的兩元素進行相乘返回即可,主要進行排序操作,時間複雜度爲 .
4. 實現
public int maxProduct(int[] nums) {
// 現將數組進行排序
Arrays.sort(nums);
// 然後選取排序後數組的最後兩個元素乘積
int size = nums.length;
return (nums[size - 1] - 1) * (nums[size - 2] - 1);
}