陣列中兩元素的最大乘積

2021-10-10 12:35:47 字數 616 閱讀 7464

給你乙個整數陣列 nums,請你選擇陣列的兩個不同下標 i 和 j,使 (nums[i]-1)*(nums[j]-1) 取得最大值。

請你計算並返回該式的最大值。

示例 1:

輸入:nums = [3,4,5,2]

輸出:12

解釋:如果選擇下標 i=1 和 j=2(下標從 0 開始),則可以獲得最大值,(nums[1]-1)(nums[2]-1) = (4-1)(5-1) = 3*4 = 12 。

示例 2:

輸入:nums = [1,5,4,5]

輸出:16

解釋:選擇下標 i=1 和 j=3(下標從 0 開始),則可以獲得最大值 (5-1)*(5-1) = 16 。

示例 3:

輸入:nums = [3,7]

輸出:12

第乙個想到的就是對陣列進行排序,然後把最大的兩個元素分別減一相乘即可。

//逆向排序:按照從大到小的順序進行排序

sort(vec.rbegin(), vec.rend());

//正向排序:按照從小到大的順序排序

sort(vec.begin(), vec.end());

於是class solution

};

1464 陣列中兩元素的最大乘積

題目 給你乙個整數陣列 nums,請你選擇陣列的兩個不同下標 i 和 j,使 nums i 1 nums j 1 取得最大值。請你計算並返回該式的最大值。示例 1 輸入 nums 3,4,5,2 輸出 12 解釋 如果選擇下標 i 1 和 j 2 下標從 0 開始 則可以獲得最大值,nums 1 1...

leetcode陣列中兩元素的最大乘積 1464

給你乙個整數陣列 nums,請你選擇陣列的兩個不同下標 i 和 j,使 nums i 1 nums j 1 取得最大值。請你計算並返回該式的最大值。輸入 nums 3,4,5,2 輸出 12 解釋 如果選擇下標 i 1 和 j 2 下標從 0 開始 則可以獲得最大值,nums 1 1 nums 2 ...

每日一題 陣列中兩元素的最大乘積

給你乙個整數陣列 nums,請你選擇陣列的兩個不同下標 i 和 j,使 nums i 1 nums j 1 取得最大值。請你計算並返回該式的最大值。示例 1 輸入 nums 3,4,5,2 輸出 12 解釋 如果選擇下標 i 1 和 j 2 下標從 0開始 則可以獲得最大值,nums 1 1 num...