一、目的
熟悉程式設計風格
自學簡單 python **
簡單效能測試
二、程式設計
1、測試工具及注意事項
使用visual studio 2017進行編譯,求陣列中最大陣列之和。
注意:1.題目說的是子陣列是連續的
2.題目只要求和,不需要返回陣列的具體位置
3.陣列的元素是整數
2、單元測試配置過程
要想在 vs2017 裡對 c++專案進行單元測試,首先要新建乙個測試專案。右鍵單擊解決方案,可以新增乙個新建專案,在型別裡選擇【單元測試】,我們這裡新建了乙個名為unittest2.cpp 的單元測試專案。
在專案建立成功後,為單元測試專案 unittest2.cpp 增加對原專案的引用,以實現呼叫原專案函式介面的功能。
3、處理陣列中最大的子陣列之和的程式,**如下:
#include#includeusing namespacestd;4、進行單元測試**如下://求最大連續子串行和
int findgreatestsumofsubarray(int arry, intlen)
elsecurrsum += arry[i];//如果當前最大和不為負數則加上當前數
if (currsum > greatestsum)//如果當前最大和大於全域性最大和,則修改全域性最大和
}returngreatestsum;
}voidmain()
#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,並記錄...