程式設計之美 子陣列的最大乘積

2021-09-06 08:57:25 字數 424 閱讀 6072

題目:給定乙個長度為n的整數陣列,只允許用乘法不允許用除法,計算n-1個數組合的乘積最大的一組,並寫出演算法的時間複雜度。 

最直觀的解法o(n2)

public static int gettheexpectvaluenormal(int data)

}if(result < r)

}return data[index];

}

優化解法o(n)

public static int gettheexpectvalue(int data)

if(absmin == 0)else if((negativecount % 2 == 0) != (absmin > 0))else

}else

}

程式設計之美 子陣列的最大乘積

public class maxproduct for int a aa else 對應書上的解法1.空間換時間 public int maxproducta int a int n a.length int s new int n s 0 1 for int i 1 i n 1 i int t n...

程式設計之美 子陣列的最大乘積

問題 給定乙個長度為n的整數陣列,只允許用乘法,不能用除法,計算任意 n 1 個數的組合中乘積最大的一組,並寫出演算法的時間複雜度。解法一 用乙個陣列儲存從左邊到右邊前i個元素的乘積。用另乙個陣列儲存從右邊到左邊n i個元素的乘積。然後結果就為兩個陣列中元素對應的乘積,複雜度為o n 解法二 設n個...

程式設計之美2 13 子陣列最大乘積

問題描述 給定乙個長度為n的整數陣列,只允許用乘法,不能用除法,計算任意 n 1 個數的組合乘積中最大的一組,並寫出演算法的時間複雜度。解法 1.暴力解法 o n 2 2.前字尾法 o n 3.統計法 o n 具體思路和 1.暴力解法 思路 利用兩層迴圈,依次刪掉乙個,其餘的做乘法,計算出最大的。1...