最大子陣列:要求相連,加起來的和最大的子陣列就是乙個陣列的最大子陣列。編譯環境:vs2012,順便說句其實我是c#程式設計師,我只是喜歡學c++。
其實這是個半成品,還有些bug在裡面,不過總體的思路是這樣的,求最大的子陣列,由乙個中位分開,就是陣列的中間位置,然後分別求中間位置橫跨的,左邊的,和右邊的最大的,然後比較三者的大小,最大的為最大子陣列。思路來自演算法導論。今天算是把偽**都實現了,但是貌似有點bug,不知道有大神幫我提一下不?為了節約時間,我索性把一些問題的解釋放過來,是演算法導論的,我也是看的這本書做的。
本人宣告,這次是我自己寫的**,下面的,我沒有看別人寫的,主要還是想鍛鍊下自己,結合上面的演算法導論看基本上就沒什麼問題了,晚安。
//#include "stdafx.h"
#include #include #include using namespace std;
template int getarraylen(t& array) //使用模板定義乙個函式getarraylen,該函式將返回陣列array的長度
int _tmain(int argc, _tchar* argv)
; //初始化陣列
int len=getarraylen(a);
findmaxsubarray(a,len);
system("pause");
return 0;
}void findmaxsubarray(int a,int len)
return sum; }
//右邊
if(flag ==1)
return sum;
} }
演算法 求乙個陣列的最大子陣列
思路 1 全負數 取最大的數即可 2 存在非負數 遇見負數就不加,然後和前乙個子串行的和做比較,取大的 public class maxchildarray return items items.length 1 不是全負數的情況,sum必定大於等於0 int sum 0 int partsum 0...
求乙個整型陣列的最大子陣列的和
團隊成員 遲真真 馮小蘭 求乙個整型陣列的最大子陣列的和 看到這個題目,是這樣想的 子陣列的元素個數為1個,2個,3個 n個 include define m 100 void main while n 0 比較相鄰2,3。n個相鄰元素時的最大值 if m max n printf 最大為 d ma...
求陣列的乙個最大子陣列
實現內容 假如有這樣乙個陣列,a 要求得到乙個總值最大的子陣列。例如a的乙個最大子陣列為a 7.10 求解思想 1 暴力求解 迴圈每乙個元素,並從每乙個元素的下標開始累加,每次選取較大的和。例如從第乙個元素開始,第一次累加是13,那麼記錄最大的maxsubarray為13 第二次累加為13 2 11...