博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
课堂练习----一个整数数组中最大子数组的和(1)
阅读量:5218 次
发布时间:2019-06-14

本文共 1713 字,大约阅读时间需要 5 分钟。

本次的题目是:返回一个整数数组中最大子数组的和

要求:

1.输入一个整形数组,数组里有正数也有负数。
2.数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。
3.求所有子数组的和的最大值。要求时间复杂度为O(n)

分析:

当我们求出的累加和加上一个正数的时候,整个累加和就会增加,当我们的累加和加上一个负数的时候,整个累加和就会减小,我们用一个变量max保存累加和的最大值,另外,我们的累加和如果为负数的时候,如果继续加数不把累加和清零的话,那么整个和就会减小,因此如果累加和为负,就把累加和清零,最后,起初的max值为0,如果循环完后max的值继续为0,则说明数组里的数,全为负数,全为0,有0有负数。那么只需要求数组最大值即可。

#include
using namespace std;#define N 1000int main(){ int num,value,max=0; int val[N]; int Array[N]; int firstNum=0,lastNum=0; cout<<"输入数的个数:"; cin>>num; for(int i=0;i
>val[i]; } value=0; for(int i=0;i
max) { max=value; lastNum=i; } if(value<0) { value=0; firstNum=i+1; } } if(max==0) { max=val[0]; firstNum=0; lastNum=0; for(int j=0;j

实验总结:本项目看上去不是太复杂,但是非常讲究算法,两个人结对开发,一起讨论,一起想解决方案,一起网上查找算法,更加锻炼了结对开发的能力。

项目计划总结:

日期&&任务 听课 编写程序 阅读相关书籍 网上查找资料 日总计
周一 100 25 25 15 165
周二   30 35 25 90
周三   60 15 35 110
周四 100 30 30 25 185
周五   180   15 195
周六     60 15 75
周日     15   15
周总计 200 325 180 130 835

时间记录日志  

 

日期 开始时间 结束时间 中断时间 净时间 活动 备注
3/21 14:00 15:50 10 100 听课 软件工程上课
  17:10 17:20   10 阅读书籍 《构建之法》《梦断代码》
  21:00 21:25   20 网上查找资料  
3/22 14:00 15:00 10 110 结对编程 编写老师布置的作业
  16:00 17:00 10 110 看书 《构建之法》《梦断代码》
3/23 21:00 21:30   30 结对编程 编写老师布置的作业
3/24 14:00 15:50 10 100 听课 软件工程上课
3/25 16:00 18:00   120 结对编程 编写老师布置的作业
3/26 9:00 9:30   30 看书 《构建之法》《梦断代码》
3/27 9:00 9:30   30 看书 《构建之法》《梦断代码》

 

缺陷记录日志:

       

 

日期 编号 类型 引入阶段 排除阶段 修复时间 修复缺陷
3月22日 1   编码 编码 0.2min  
  缺少头文件
  2   编码 运行 3min  
  重复使用变量i,导致无限运行
3月25日 3   编码 编译 1min  
  if条件中用了“=”运算符
  4   编码 编译 1min  
  缺少;
  5   编码 编译 0.2min  
  for的结尾再次使用i++,导致i加了两次

小组成员:杨超群 

 

转载于:https://www.cnblogs.com/GloryYT/p/5322943.html

你可能感兴趣的文章
[poj3735] Training little cats_矩乘快速幂
查看>>
重构:仔细查看,改进代码
查看>>
JavaScript 片段
查看>>
装箱和拆箱
查看>>
Ubuntu安装Flash
查看>>
Frenetic Python实验(二)
查看>>
Android 对话框(Dialog)大全 建立你自己的对话框 分类: An...
查看>>
Linux进程管理(3):总结
查看>>
Android 用HorizontalScrollView实现ListView的Item滑动删除 ,滑动错乱 冲突
查看>>
HDU6438 Buy and Resell
查看>>
configure/make/make install的作用
查看>>
墨菲定律、二八法则、马太效应、手表定理、“不值得”定律、彼得原理、零和游戏、华盛顿合作规律、酒与污水定律、水桶定律、蘑菇管理原理、钱的问题、奥卡姆剃刀等13条是左右人生的金科玉律...
查看>>
beanutils中类型转换
查看>>
java 拾遗
查看>>
在Bonobo服务器里创建Repository(库)
查看>>
ImageSharp一个专注于NetCore平台图像处理的开源项目
查看>>
Windows Management Instrumentation 服务无法启动 解决办法
查看>>
Problem B: 时间类的错误数据处理
查看>>
bzoj 1754: [Usaco2005 qua]Bull Math【高精乘法】
查看>>
bzoj 4753: [Jsoi2016]最佳团体【01分数规划+二分+树上背包】
查看>>