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排序陣列
- 找到兩個陣列中的公共元素陣列
- java陣列元素的引用Java陣列
- 【Java】尋找陣列中“主要元素”Java陣列
- java陣列中重複元素的去重Java陣列
- 比較兩個陣列中是否有相同的元素陣列
- 【LeetCode-陣列】陣列式整數加法LeetCode陣列
- JS 不使用 for forEach 獲取兩陣列中重複的元素JS陣列
- java陣列如何遍歷全部的元素Java陣列
- 旋轉陣列中的最小元素陣列
- Java中查詢陣列多數元素的4種方法Java陣列
- 陣列中每個陣列元素出現的次數陣列
- iOS 用簡便的方法統計兩個陣列中不同的元素iOS陣列
- 三個數的最大乘積
- JavaScript獲取陣列最後一個元素JavaScript陣列
- Java中的陣列Java陣列
- Java擷取指定區間內的陣列元素並存入新陣列Java陣列
- 【Java】陣列二分查詢元素Java陣列
- 尋找陣列中第K大的元素陣列
- JavaScript獲取元素在陣列中的位置JavaScript陣列
- 查詢陣列中第K大的元素陣列
- 返回陣列中的最大元素個數陣列
- 如何去除有序陣列中的重複元素陣列
- PHP從陣列中刪除元素的方法PHP陣列
- 陣列中的第K個最大元素陣列
- 陣列元素逆序陣列
- 陣列元素的數量陣列
- 在一個給定的陣列中查詢陣列中的最大元素是否至少是陣列中每個其他數字的兩倍, 如果是,則返回最大元素的索引,否則返回-1。陣列索引
- 在排序陣列中查詢元素的第一個和最後一個位置排序陣列
- 統計陣列元素中每個元素出現的次數陣列
- 兩個有序陣列的中位數陣列
- 計蒜客 移除陣列中的重複元素陣列
- filter在JavaScript中過濾陣列元素FilterJavaScript陣列
- js 從目標陣列中過濾掉 一個陣列元素,JS陣列
- 陣列--移除陣列中指定的元素,不改變原陣列和改變原陣列陣列
- 34. 在排序陣列中查詢元素的第一個和最後一個位置(中)排序陣列