陣列中最大子陣列之和

2022-06-29 07:06:07 字數 1690 閱讀 8320

一、目的

熟悉程式設計風格

自學簡單 python **

簡單效能測試

二、程式設計

1、測試工具及注意事項

使用visual studio 2017進行編譯,求陣列中最大陣列之和。

注意:1.題目說的是子陣列是連續的

2.題目只要求和,不需要返回陣列的具體位置

3.陣列的元素是整數

2、單元測試配置過程

要想在 vs2017 裡對 c++專案進行單元測試,首先要新建乙個測試專案。右鍵單擊解決方案,可以新增乙個新建專案,在型別裡選擇【單元測試】,我們這裡新建了乙個名為unittest2.cpp 的單元測試專案。

在專案建立成功後,為單元測試專案 unittest2.cpp 增加對原專案的引用,以實現呼叫原專案函式介面的功能。

3、處理陣列中最大的子陣列之和的程式,**如下:

#include#includeusing namespacestd;

//求最大連續子串行和

int findgreatestsumofsubarray(int arry, intlen)

elsecurrsum += arry[i];//如果當前最大和不為負數則加上當前數

if (currsum > greatestsum)//如果當前最大和大於全域性最大和,則修改全域性最大和

}returngreatestsum;

}voidmain()

4、進行單元測試**如下:

#include "pch.h"#include "cppunittest.h"#include "..\console\max.cpp"

using namespacemicrosoft::visualstudio::cppunittestframework;

namespaceunittest2

; assert::areequal(12, findgreatestsumofsubarray(test,8));

int test1 = ;

assert::areequal(8, findgreatestsumofsubarray(test1,4));}};

}

三、單元測試驗證程式的正確性、以及執行結果截圖

四、效能分析

cpu使用率

gpu使用率

記憶體使用率

效能嚮導

陣列中最大子陣列之和

採用暴力破解法 三重for迴圈找出所有子陣列進行對比 def maxsubarray array maxsum 0 for i in range 0,len array for j in range i,len array sum 0 for k in range i,j 1 sum sum arr...

陣列中最大子陣列之和

一.編寫程式 1.求陣列中最大子陣列之和 class max out object defmaxmarry lis dp lis 0 i 1 for num in lis 1 if dp i 1 0 else i 1 return max dp 演算法實現 建立乙個新的陣列,該陣列有乙個值為所求陣列...

陣列中最大子陣列之和

乙個有n個整數元素的一維陣列 a 0 a 1 a n 1 求子陣列之和的最大值。例子 1,2,3,5,3,2 返回 8 0,2,3,5,1,2 返回 9 9,2,3,5,3 返回 2 需要注意的是,如果考慮到陣列首尾相連,則 1 先按不相連計算出最大值max 2 從尾往頭掃瞄,找出最大值m1,並記錄...