拼多多2018校招 最大乘積

2021-08-21 15:55:24 字數 613 閱讀 4450

給定乙個無序陣列,包含正數、負數和0,要求從中找出3個數的乘積,使得乘積最大,要求時間複雜度:o(n),空間複雜度:o(1) 

輸入描述:

第一行是陣列大小n,第二行是無序整數陣列a[n]
輸出描述:

滿足條件的最大乘積
輸入例子1:

4

3 4 1 2

輸出例子1:

24
思路:

找出最小、次小,最大,次大,第三大的五個數,

乘積最大:1.最大*最小*次小      2.最大*次大*第三大

1和2 兩種情況的最大值為所求結果。

includeusing namespace std;

int main()

else if(num>max1)

else if(num>max2)

}long long result=max(min0*min1*max0,max0*max1*max2);

cout

}

牛客網拼多多校招最大乘積

給定乙個無序陣列,包含正數 負數和0,要求從中找出3個數的乘積,使得乘積最大,要求時間複雜度 o n 空間複雜度 o 1 輸入描述 輸入共2行,第一行包括乙個整數n,表示陣列長度 第二行為n個以空格隔開的整數,分別為a1,a2,an 輸出描述 滿足條件的最大乘積 示例1輸入 43 4 1 2 輸出2...

用C 解決最大乘積問題(拼多多2018校招題)

給定乙個無序陣列,包含正數 負數和0,要求從中找出3個數的乘積,使得乘積最大,要求時間複雜度 o n 空間複雜度 o 1 陣列裡元素的個數n 無序整數陣列a n 滿足條件的最大乘積 3 4 1 2 1.陣列的輸入 因為輸入的第一行告訴了我們陣列的大小,故我們可以構建動態陣列來接收輸入。2.資料的型別...

拼多多2018校招 小熊吃糖

有n只小熊,他們有著各不相同的戰鬥力。每次他們吃糖時,會按照戰鬥力來排,戰鬥力高的小熊擁有優先選擇權。前面的小熊吃飽了,後面的小熊才能吃。每只小熊有乙個飢餓值,每次進食的時候,小熊們會選擇最大的能填飽自己當前飢餓值的那顆糖來吃,可能吃完沒飽會重複上述過程,但不會選擇吃撐。現在給出n只小熊的戰鬥力和飢...