1.時間複雜度o(n^2)
2.時間複雜度o(n),組a[n],設去除第i個元素的乘積為a[0]*a[1]*…a[i-1] * a[i+1]*a[i+2]*…a[n-1],則可以寫出如下演算法滿足複雜度為ο(n)。
設f[i]=a[0]*a[1]*…a[i], r[i]=a[i]*a[i+1]*…a[n]則p[i] = f[i-1]*r[i+1]。 3.
時間複雜度o(n),進一步減少計算量。子陣列最大乘積問題可以分為以下幾種情況。
1.陣列中有多於乙個零則最大乘積為0;
2.陣列中只有乙個零,而有奇數個負數,則最大乘積必定為0;
3.陣列中只有乙個零,而有偶數個負數,則最大乘積為除去0的元素的乘積;
4.陣列中沒有零,而有奇數個負數,則最大乘積為除去絕對值最小的負數的乘積;
5.陣列中沒有零,而有偶數個負數,則最大乘積為除去最小的正數的乘積。
遍歷一遍陣列得到陣列中正數、負數,零的個數,以及絕對值最小的正數和負數
#include#include#includeusing namespace std;
long long levelone(int data,int maxsize)
else
else if(minpos > d[i]) //最小正數
}} if(n_zero==1 && n_neg%2==1)
else if(n_zero==1 && n_neg%2==0)
else if(n_zero==0 && n_neg%2==1)
else if(n_zero==0 && n_neg%2==0)
for(int i=0; i
《程式設計之美》讀書筆記
程式設計之美 讀書筆記 一 中國象棋將帥問題 程式設計之美 讀書筆記 二 求二進位制數中1的個數 擴充套件問題 程式設計之美 讀書筆記 三 一摞烙餅的排序問題 程式設計之美 讀書筆記 四 買書折扣問題的貪心解法 程式設計之美 讀書筆記 五 飲料 問題 程式設計之美 讀書筆記 六 連連看遊戲設計 程式...
《程式設計之美》讀書筆記集錦
程式設計之美 讀書筆記 一 中國象棋將帥問題 程式設計之美 讀書筆記 二 求二進位制數中1的個數 擴充套件問題 程式設計之美 讀書筆記 三 一摞烙餅的排序問題 程式設計之美 讀書筆記 四 買書折扣問題的貪心解法 程式設計之美 讀書筆記 五 飲料 問題 程式設計之美 讀書筆記 六 連連看遊戲設計 程式...
《程式設計之美》讀書筆記集錦
程式設計之美 讀書筆記 一 中國象棋將帥問題 程式設計之美 讀書筆記 二 求二進位制數中1的個數 擴充套件問題 程式設計之美 讀書筆記 三 一摞烙餅的排序問題 程式設計之美 讀書筆記 四 買書折扣問題的貪心解法 程式設計之美 讀書筆記 五 飲料 問題 程式設計之美 讀書筆記 六 連連看遊戲設計 程式...