求所有子数组的和的最大值
实验思路:
从第一个元素开始循环,在嵌套另一个循环,从每个元素开始,依次加上后边的元素
当和大于最大值时,把和赋值给最大值,并记录此时的首元素的下标和尾元素的下标
#include <iostream> using namespace std; int array[] = {1, 2, 3, 4, 5, 6, 7, 8}; //int array[] = {-1, -2, -3, -4, -5,-6}; const int size = sizeof array / sizeof *array; int maxSubArray(int *array, int size) { int max = -(1 << 31); int sum = 0; int index = 0; while (index < size) { sum += array[index]; if (sum > max) { max = sum; cout << "max: " << max << endl; } if (sum < 0) sum = 0; index++; } return max; } int main() { int index = maxSubArray(array, size); cout << "最大的是: " << index << endl; }
项目计划日志
10月5日 | 观看PPT,了解作业内容情况 |
10月6日 | 查阅代码资料,尝试进行编程 |
10月7日 | 改写程序,写入博客 |
时间记录日志
日期 | 开始时间 | 结束时间 | 中断时间 | 净时间 | 活动 |
10月5日 | 15:00 | 17:00 | 0min | 2h | 观看PPT,了解作业内容情况 |
10月6日 | 9:30 | 11:30 | 30min | 1.5h | 查阅代码资料,尝试进行编程 |
10月7日 | 20:00 | 22:00 | 0min | 2h | 改写程序,写入博客 |
缺陷日志
时间 | 缺陷 |
10月6日 | 代码知识学习的并不扎实,很多代码并不是很了解 |
10月7日 | 知识的缺陷导致程序难以调试成功 |
结果:
原文:https://www.cnblogs.com/huang990317/p/9751960.html