628 三個數的最大乘積

2021-09-25 16:44:36 字數 657 閱讀 4690

鏈結

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

示例1

輸入: [1,2,3]

輸出: 6

示例2

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

輸出: 24

注意: 題解

由於陣列中的數可能有正數也可能有負數所以最大乘積會有以下幾種情況:

1.如果陣列中的元素全是負數的話,那最大乘積就是三個最大負數相乘

2.如果陣列中的元素有正有負最大乘積可能為公升序排序後的最後三個數的乘積

或前兩個元素的乘積再乘以最後乙個元素的乘積

綜合上述情況分析可知

只需找出該陣列中的最大三個數(maxa,maxb,maxc)和最小兩個數(mina,minb)

比較一下maxamaxbmaxc和minaminbmaxa

返回二者中的比較大的那乙個即可

func maximumproduct(nums int) int 

switch

} return bigger(max1*max2, min1*min2) * max

}func bigger(a, b int) int

return b

}

628 三個數的最大乘積

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

628 三個數的最大乘積

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

628 三個數的最大乘積

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