项目计划日志 | |||||
10.6 看ppt,熟悉内容。 | |||||
10.6下午,开始编程调试。 | |||||
10.7 运行调试,写博客。 | |||||
时间记录日志 | |||||
日期 | 开始时间 | 结束时间 | 中断时间 | 净时间 | 活动 |
10.6 | 9:00 | 11:00 | 20min | 1.5h | 查资料 |
10.7 | 8:00 | 12:00 | 30min | 3.5h | 查资料,编程 |
10.7 | 14:00 | 18:00 | 1h | 3h | 编程,运行,调试 |
缺陷日志 | |||||
时间 | 缺陷 | ||||
10.6 | 看基础,好多东西都忘记了,需要查询的东西多。进程缓慢。
|
设计思路:
从第一个数开始,依次与后面的数相加,形成子数组,
然后在比较数组的大小,选出最大的一个。
1 #include <iostream> 2 using namespace std; 3 int array[] = {2,3,-8,2,1,-4,}; //int array[] = {-7,6,-1,3,9,5}; 4 const int size = sizeof array / sizeof *array; 5 int maxSubArray(int *array, int size) 6 { 7 int max = -(1 << 31); 8 int sum = 0; 9 int index = 0; 10 while (index < size) 11 { 12 sum += array[index]; 13 if (sum > max) 14 { 15 max = sum; cout << "max: " << max << endl; 16 } 17 if (sum < 0) 18 19 sum = 0; index++; 20 } 21 return max; 22 } 23 int main() 24 { 25 int index = maxSubArray(array, size); 26 cout << "最大的是: " << index << endl; 27 28 }