給定乙個整型陣列,在陣列中找出由三個數組成的最大乘積,並輸出這個乘積。
示例 1:
輸入: [1,2,3]
輸出: 6
示例 2:
輸入: [1,2,3,4]
輸出: 24
注意:
給定的整型陣列長度範圍是[3,104],陣列中所有的元素範圍是[-1000, 1000]。
輸入的陣列中任意三個數的乘積不會超出32位有符號整數的範圍。
思路1: 比較慢
//方法1
public int maximumproduct(int nums)
思路2:比較快
//方法2
public int maximumproduct2(int nums)
}//注意別忘了實現介面
priorityqueuemaxqueue=new priorityqueue<>(2, new comparator()
});maxqueue.add(nums[0]);
maxqueue.add(nums[1]);
for(int i=2;i}
int a=minqueue.poll()*minqueue.poll()*minqueue.peek();
int b=maxqueue.poll()*maxqueue.poll()*minqueue.peek();
return math.max(a,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注意 題解 由於陣列中的數可能有正數也可能有負數所以最大乘積會有以下幾種情況 1.如果陣列中的元素全是負數的話,那最大乘積就是三個最大負數相乘 2.如果...
628 三個數的最大乘積
628.三個數的最大乘積 給定乙個整型陣列,在陣列中找出由三個數組成的最大乘積,並輸出這個乘積。示例 1 輸入 1,2,3 輸出 6示例 2 輸入 1,2,3,4 輸出 24注意 給定的整型陣列長度範圍是 3,104 陣列中所有的元素範圍是 1000,1000 輸入的陣列中任意三個數的乘積不會超出3...