給你乙個整型陣列 nums ,在陣列中找出由三個數組成的最大乘積,並輸出這個乘積。
錯誤解法:
一開始看見時就想到用排序,因為排序完後我們就可以取到三個最大值,那麼三個最大值相乘也就是最大乘積了,但是忽略了有負數的時候,負負相乘有可能會得到乙個更大的數
正確解法
我們此時應考慮三種情況:
那麼我們現在就可以很簡單的寫出以下**:
var
maximumproduct
=function
(nums)
{//es6新特性:箭頭函式
let nums2 = nums.
sort
((a,b)
=>a-b)
;const n = nums.length;
return math.
max(nums[0]
* nums[1]
* nums[n -1]
, nums[n -1]
* nums[n -2]
* nums[n -3]
);
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 三個數的最大乘積
鏈結 給定乙個整型陣列,在陣列中找出由三個數組成的最大乘積,並輸出這個乘積。示例1輸入 1,2,3 輸出 6示例2 輸入 1,2,3,4 輸出 24注意 題解 由於陣列中的數可能有正數也可能有負數所以最大乘積會有以下幾種情況 1.如果陣列中的元素全是負數的話,那最大乘積就是三個最大負數相乘 2.如果...