選出乙個陣列裡的乙個連續子集,使這個子集相加的和為所有子集中最大。
舉例:給定乙個陣列為[-2, 1, -3, 4, -1, 2, 1, -5, 4], 輸出結果為:[4, -1, 2, 1],他的元素相加和為6為所有子集中最大。函式原型:retcode maxsubarray(int inputarr, int inputlen, int outsubarr, int outlen)
void maxsubarray(int inputarr, int &inputlen, int outputarr, int &outlen)
// 如果是第乙個子串 或 已知最大子串的和小於當前子串的和,則替換
if ((max_begin == -1 && max_end == -1) || max_sum < sum) }}
outlen = max_end - max_begin + 1;
for (int i = 0; i < outlen; i++)
}int main()
maxsubarray(inputarr, inputlen, outarr, outlen);
for (int i = 0; i < outlen; i++)
cin.get();
cin.get();
return
0;}
leetcode 最大子集和
問題 求乙個給定陣列中的最大連續元素和。以ai代表陣列中截止下標為i的子陣列最大連續元素和 i 0,1,2.求ai可以考慮將ai分為該截止元素 之前元素的和與該截止元素兩部分,求最 public class maxsubarray return maxsubarray public static v...
集合最大子集演算法 折衷演算法
我們直接來看乙個問題。給定乙個由n個整數組成的集合,其中n 40,每乙個整數都小於或等於 我們用例子來說明。例題1 輸入集合為 n 6,s 42 也就是從集合的6個元素中選擇適當的元素組成乙個子集,使得子集所有元素的和最大,並且該和小於或等於42。答案 該子集為,它的元素和為34 5 2 41,就是...
求二維陣列的最大子集和
小組成員 李夏蕾 楊世超 這次的題目是接著上次的一維陣列進行的進一步的引申,雖然考慮了很多的方法,但還是覺得窮舉法是最保險的一種,下面是我們的思路 我們採用的是自己輸入行數和列數,然後輸入資料進行測試。同時申請了兩個陣列用來存放子集的長度和寬度,好用來輸出。主要的就是for迴圈了,首先是最外層的,先...