//★题目:子数组的最大累加和问题
//要求:给定一个数组arr[],返回子数组的最大累加和。
// 时间复杂度O(N),空间复杂度O(1)
// 例如:arr = [1,-2,3,5,-2,6,-1],所有子数组中[3,5,-2,6]可以累加出最大的和12,return 12
#include <iostream>
#include <vector>
using namespace std;
int maxsum(vector<int> matrix);
void printVector1(vector<int> matrix);
vector<int> generateDesignated1Vector(int *arr, int size);
int main()
{
int arrayMine[7] = { 1, -2, 3, 5 ,-2 ,6 ,-1 };//3,5,-2,6 = 12
int *arr = arrayMine;
vector<int> matrix = generateDesignated1Vector(arr, 7);
printVector1(matrix);
cout << endl;
int result = maxsum(matrix);
cout << result << endl;
system("pause");
return 0;
}
void printVector1(vector<int> matrix)
{
int size = matrix.size();
for (int i = 0; i < size; i++)
{
cout << matrix[i] << " ";
}
}
int maxsum(vector<in
数组与矩阵:子数组的最大累加和问题(C++)
最新推荐文章于 2022-03-15 20:36:24 发布
探讨如何使用C++编程解决寻找数组中连续子数组的最大累加和问题,涉及动态规划算法的应用。
摘要由CSDN通过智能技术生成