Leetcode刷題628 三個數的最大乘積

2021-10-12 08:31:09 字數 775 閱讀 4869

給定乙個整型陣列,在陣列中找出由三個數組成的最大乘積,並輸出這個乘積。

示例 1:

輸入: [1,2,3]

輸出: 6

示例 2:

輸入: [1,2,3,4]

輸出: 24

注意:給定的整型陣列長度範圍是[3,104],陣列中所有的元素範圍是[-1000, 1000]。

輸入的陣列中任意三個數的乘積不會超出32位有符號整數的範圍。

class solution 

//方法一:排序

//求陣列最後三個元素的乘積

//求前兩個元素和最後乙個元素的乘積

//比較,得出最大值

//時間複雜度o(nlogn),空間複雜度o(logn)

private int maximumproducti(int nums)

//方法二:遍歷

//當陣列有序後,最大值為max(nums[0]*nums[1]*nums[len-1],nums[len-1]*nums[len-2]*nums[len-3])

//所以遍歷陣列,取出上面5個變數即可

//時間複雜度o(n),空間複雜度o(1)

private int maximumproductii(int nums) else

}if (n >= max3) else

} else }}

return math.max(min1 * min2 * max1, max1 * max2 * max3);

}}

刷題筆記 LeetCode 628

給你乙個整型陣列 nums 在陣列中找出由三個數組成的最大乘積,並輸出這個乘積。這是筆者的第一篇部落格,題目簡答,略顯粗糙。筆者看到這題時,頭腦簡單,直接使用sort排序,之後返回最大的三個數的乘積,這明顯是錯誤的,沒有考慮到負負得正,屬實丟臉。稍加思考之後,我分為兩種情況來進行討論。先將整個陣列進...

LeetCode 三個數的最大乘積 628

給定乙個整型陣列,在陣列中找出由三個數組成的最大乘積,並輸出這個乘積。示例 1 輸入 1,2,3 輸出 6示例 2 輸入 1,2,3,4 輸出 24注意 給定的整型陣列長度範圍是 3,104 陣列中所有的元素範圍是 1000,1000 輸入的陣列中任意三個數的乘積不會超出32位有符號整數的範圍。仔細...

Leetcode 628 三個數的最大乘積

給定乙個整型陣列,在陣列中找出由三個數組成的最大乘積,並輸出這個乘積。示例 1 輸入 1,2,3 輸出 6 示例 2 輸入 1,2,3,4 輸出 24 注意 1.給定的整型陣列長度範圍是 3,104 陣列中所有的元素範圍是 1000,1000 2.輸入的陣列中任意三個數的乘積不會超出32位有符號整數...