leetcode-陣列中兩元素的最大乘積(Java)
題目連結
題目描述
給你一個整數陣列 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
提示
2 <= nums.length <= 500
1 <= nums[i] <= 10^3
思路與實現
class Solution {
public int maxProduct(int[] nums) {
int max1 = 0; //最大值
int max2 = 0; //第二大
for (int i = 0; i < nums.length; i++) {
int num = nums[i] - 1;
if (num > max1) {
max2 = max1;
max1 = num;
}else if (num == max1) {
max2 = num;
}else if (num > max2) {
max2 = num;
}
}
return max1 * max2;
}
}
相關文章
- 【演算法拾遺】子陣列的最大乘積演算法陣列
- LeetCode-兩個排序陣列的中位數LeetCode排序陣列
- 找到兩個陣列中的公共元素陣列
- leetcode-刪除排序陣列中的重複項+移除元素LeetCode排序陣列
- 【LeetCode-陣列】查詢大多數元素LeetCode陣列
- [LeetCode] Maximum Product Subarray 求連續子陣列的最大乘積LeetCode陣列
- 【Java】尋找陣列中“主要元素”Java陣列
- java陣列元素的引用Java陣列
- 比較兩個陣列中是否有相同的元素陣列
- java陣列中重複元素的去重Java陣列
- 【谷歌面試題】求陣列中兩個元素的最小距離谷歌面試題陣列
- 計算兩個一維陣列的卷積陣列卷積
- JS 不使用 for forEach 獲取兩陣列中重複的元素JS陣列
- 旋轉陣列中的最小元素陣列
- 陣列中每個陣列元素出現的次數陣列
- Java中查詢陣列多數元素的4種方法Java陣列
- iOS 用簡便的方法統計兩個陣列中不同的元素iOS陣列
- Java中的陣列Java陣列
- 【LeetCode-陣列】陣列式整數加法LeetCode陣列
- java陣列如何遍歷全部的元素Java陣列
- javascript將陣列的元素每兩個一組存入一個新陣列JavaScript陣列
- JavaScript刪除陣列最後一個元素JavaScript陣列
- JavaScript獲取陣列最後一個元素JavaScript陣列
- JavaScript 刪除陣列最後一個元素JavaScript陣列
- js如何將陣列中的元素清空JS陣列
- jQuery元素在陣列中的索引位置jQuery陣列索引
- for in語句遍歷陣列中的元素陣列
- js如何遍歷陣列中的元素JS陣列
- js如何獲取指定陣列元素在陣列中的索引值JS陣列索引
- 如何將一個陣列中的元素插入另一個陣列陣列
- Java擷取指定區間內的陣列元素並存入新陣列Java陣列
- 子陣列的乘積陣列
- js如何獲取兩個陣列共有的元素JS陣列
- 尋找陣列中第K大的元素陣列
- 查詢陣列中第K大的元素陣列
- JavaScript獲取元素在陣列中的位置JavaScript陣列
- js刪除陣列中重複的元素JS陣列
- js刪除陣列中的重複元素JS陣列