LeetCode 628 三個數的最大乘積

2021-09-23 06:27:35 字數 538 閱讀 1097

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

可能組成最大乘積的三個數有兩種可能。可能一:最大的三個正數的乘積;可能二:最大的正數與最小的兩個負數的乘積。因此遍歷陣列,找出這5個數,比較可能的兩個結果,較大的那個就是我們要返回的。

在單次掃瞄中,找出最大的三個數:

如果新的數大於最大的數,那麼將最大的數移動到次大的位置,將次大的數移動到第三大的位置,並將新數插入到最大位置處。

如果性的數小於最大的數,但大於次大的數,則依次將次大的數移到第三大的位置,並將新數插入次大的位置;以此類推。

int maximumproduct(vector& nums)else if(num>=secondmax)else if(num>thirdmax)

// 更新最小值

if(num<=firstmin)else if(num}

return max(firstmax*secondmax*thirdmax,firstmin*secondmin*firstmax);

}

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位有符號整數的範圍。解析...