給你乙個整數陣列 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...