/*
題目:給定乙個無序陣列,包含正數、負數和0,要求從中找出3個數的乘積,使得乘積最大。
要求時間複雜度:o(n),空間複雜度:o(1)
*/function maxprod(arr)
var prod=arr[0]*arr[1]*arr[2];
if(len===3)
var max1=number.min_value,
max2=number.min_value,
max3=number.min_value;
var min1=number.max_value,
min2=number.max_value;
for(var i=0;imax1)else if(arr[i]>max2)else if(arr[i]>max3)else{}
if(arr[i]=0)
// 否則,最大乘積在(2小+1大)或(3大)中取得
var prod1=max1*max2*max3,
prod2=min1*min2*max1;
return prod1>prod2?prod1:prod2;
}var arr=[3,-4,2,1];
console.log(maxprod(arr)); // 6
輸入3個數,輸出其中的最大值
程式 include include csdn學院 2016級 檔名稱 myfun6.c 完成日期 2016年10月21日 問題描述 輸入3個數,輸出其中的最大值。int main 輸出結果 知識點總結 通過巢狀if語句,來實現三個數值大小的對比,第一層巢狀巢狀的if是在外層if a b 輸出為真的...
輸入3個數,求最大值最小值中間值
輸入3個數,求最大值最小值中間值 2 bool 如果為真,則返回1,如果為假則返回0 3 邏輯與 要求表示式兩邊同時為真,結果才為真,如果表示式兩邊有乙個為假,結果就為假。邏輯或 一真即真 4if 第一種形式,如果條件表示式為真,會執行大括號裡的語句,執行完畢後跳出大括號執行下面的語句 如果為假,跳...
獲取陣列中子串乘積的最大值
題目 給定乙個陣列,例如arr 那個8和4相乘得到32,是連續數相乘得到的最大值,得到該值即可。解答 注意此過程的三種情況即可,最大數成為最大,最小數變成最大,當前數最大。時間複雜度o n public static double getmax double arr double max arr 0...