給定乙個無序陣列,包含正數、負數和0,要求從中找出3個數的乘積,使得乘積最大,要求時間複雜度:o(n),空間複雜度:o(1)
輸入描述:
第一行是陣列大小n,第二行是無序整數陣列a[n]輸出描述:
滿足條件的最大乘積輸入例子1:
4輸出例子1:3 4 1 2
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只小熊的戰鬥力和飢...