求最大子数组(结对开发)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求最大子数组(结对开发)相关的知识,希望对你有一定的参考价值。
结对伙伴:
纪烈翔
博客名:我们都是小怪兽
链接:http://www.cnblogs.com/qwer113/
设计思想:
1:随机输入一个数组
2:用动态规划求出该数组的最大子数组的和
3:定义一个结构体,当找到该最大子数组时,记录该数组的开始和结束
4:输出
结对开发过程:
程序源代码:
//动态规划 //2016/3/23 #include "iostream" using namespace std; #define N 100 typedef struct data { int kaishi; int jieshu; int value; }data; int main() { int num = 0; int A[N]; cout << "任意输入一个数组:"; while (true) { cin >> A[num]; num++; if (getchar() == ‘\\n‘) { break; } } data Start; data All; //初始化 Start.kaishi = All.kaishi = 0; Start.jieshu = All.jieshu = 0; Start.value = All.value = A[0]; //动态规划,求出最小子数组的和以及最小子数组开始和结束的位置 for (int i = 1; i < num; i++) //从前向后遍历 { if (A[i] > Start.value + A[i]) { Start.value = A[i]; Start.kaishi = i; Start.jieshu = i; } else { Start.value += A[i]; Start.jieshu = i; } if (Start.value > All.value) { All = Start; } } cout << "和最大的最小子数组为:" << endl << "从第" << All.kaishi + 1 << "个数开始,第" << All.jieshu+ 1 << "个数结束" << endl << "和为:" << All.value << endl;//输出 return 0; }
运行截图:
项目计划总结:
时间记录日志:
缺陷记录日志:
以上是关于求最大子数组(结对开发)的主要内容,如果未能解决你的问题,请参考以下文章