博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
结对开发——求最大值
阅读量:7100 次
发布时间:2019-06-28

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

一、题目:

      返回一个整数数组中最大子数组的和。

  要求:

  1.输入一个整形数组,数组里有正数也有负数。

  2.数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。

  3.求所有子数组的和的最大值。要求时间复杂度为O(n)。

二、设计思路

  1.数组num[]长度已确定是N,将数组中字数组的和放到数组sum[]中;

  2.sum[0]=num[0],sum[1]=num[0]+num[1],sum[2]=num[0]+num[1]+num[2]……;

     sum[N]=num[1],sum[N+1]=num[1]+num[2]……如此循环,直至所有自己的和全部存进  数组sum中;

  3.然后求出数组sum中的最大值,再输出结果;

      4.单独判断一些特殊的容易计算的情况,比如全是负数、全是正数、只有一个正数。这样能有效地提高程序的效率。

三、源代码

1 // 求和.cpp : Defines the entry point for the console application. 2 // 2015/3/18 16:12 袁佩佩 于海洋 信1201-1班 3  4 #include "stdafx.h" 5 #include"iostream.h" 6 #define SIZE 5                                    //数组的个数 7 #define MAXSIZE 100                                //子集个数的最大值 8 void CaculateSum(int sum[],int length,int num[])//计算数组中各个子集的和 9 {10     int j=0;11     for(int i=0;i
>num[i];58 if(num[i]<0)59 count[0]++; //负数的个数60 else61 count[1]++; //正数62 }63 acc=GetAcc();64 for(i=0;i

四、结果截图

五、心得体会

  我和于同学之前就经常合作,所以这次搭档还算顺利。我俩上课的时候就讨论出了这个题目的大体思路,今天我们又对算法的具体实现进行了讨论和调试。

  俗话说:“男女搭配,干活不累。”我比较细心,他比较有执行力。于同学可以带起整个编程创作的气氛,我也很快进入状态,能够及时准确的发现他的错误并快速改正。整个过程效率比自己编程时要高。

  其实一开始我根据我和搭档确定的思路写出了算法,但是运行时有错并且特别复杂。我们调试了几次都没能成功,于是他就换了种思考方式,很快写了新的算法。经过几次调试之后,程序成功运行了。这一点我挺欣赏他的,因为它发现这条路走不通或特别难走时,可以马上改变路径正确的到达目的地。

六、有图有真相

  请无视我那无神的双目,和那油油的头发...

 

转载于:https://www.cnblogs.com/JJJanepp/p/4346942.html

你可能感兴趣的文章
香港特首参观杭州城市大脑,阿里云技术获赞
查看>>
切入物流分拣市场,3D机器视觉还有多长的路要走?
查看>>
Influxdb简单实用操作
查看>>
好程序员Web前端开发入门之网页制作三要素
查看>>
「镁客早报」紫光申请100亿纾困专项债券;比利时禁止Facebook追踪当地用户
查看>>
阿里云专有宿主机(商业化)发布
查看>>
k8s :构建系统
查看>>
Linux 卸载挂载的磁盘时提示正忙
查看>>
MySQL免编译安装及登录(5.6.36)
查看>>
“莫兰迪色系” 高级灰
查看>>
微信小程序的十七个流量入口!
查看>>
YYKit 源码探究
查看>>
[雪峰磁针石博客]python 3.7极速入门教程5循环
查看>>
Nancy之基于Nancy.Hosting.Self的小Demo
查看>>
KDD 18 论文解读 | GraphWave:一种全新的无监督网络嵌入方法
查看>>
shell 在手分析服务器日志不愁?
查看>>
jeesite配置指南(官方文档有坑,我把坑填了!)
查看>>
Nginx 服务器本地缓存配置(学习笔记十五)
查看>>
[WPF]自定义鼠标指针
查看>>
Linux下安装ActiveMQ-5.15.8
查看>>