LeetCode 628 三個數的最大乘積

2021-10-16 21:15:22 字數 860 閱讀 1166

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

示例 1:

輸入: [1,2,3]

輸出: 6

示例 2:

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

輸出: 24

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

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

一看到「最大乘積」,第一反應就是先排序,然後最大的三個數乘積就是所求。但是,還要考慮負數的情況,比如[-6,-4,-3,-2,-1,2],這個序列的最大乘積=(-6)*(-4)* 2 = 48。

方法一:先排序,然後返回」最大三個數的乘積「和「最小兩個負數及最大數的乘積」,兩者的較大者。

時間複雜度:

空間複雜度:

方法二:設定5個變數,分別記錄最大的三個數 和 最小的兩個數。

時間複雜度:

空間複雜度:

// 方法一

class solution

}

// 方法二

class solution else if (n > max2) else if (n > max3)

if (n < min1) else if (n < min2)

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

Leetcode 628 三個數的最大乘積

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

Leetcode 628 三個數的最大乘積

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

LeetCode628 三個數的最大乘積

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