zoukankan      html  css  js  c++  java
  • 1、软件工程结对开发之求一维数组中连续最大子数组之和

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

    设计思路:

        在上课期间老师留了这道题目,让我们开始讨论,我的合作伙伴檀威首先打开了编程界面,开始写代码了,我说咱们不能这样,还没有思路呢,我们应该先在纸上写好设计思路,理清问题的解决思路,最后咱们再编写代码实现,他说是啊,是我太心急了,以前没养成好习惯。

        我们首先想了最笨的方法,就是求出所有子数组的和,然后找出最大的和。显然这不是最简便的方法,我俩都不太满意。一会儿,我们都陷入了沉思,似乎都没有更好的解决办法,转眼间,下课了。。。

       在周三下午我们又开始商量这个问题,首先我们在一张纸上列出了几组数据,从数据出发,找出最简便的解决办法。后来我们终于发现,最大子数组的第一个数字肯定得大于零,且得判断只有前面子数组的和大于零,才能加上后面的数,而且结果是最大的,这样一步步推导就得到了结果。

    体会:

    这是比较正式的一次结对合作开发,以前基本就是某个人自己做,其他人就是打酱油而已。但这次合作感觉两个人的力量是巨大的,团结就是力量,其中避免不了摩擦,我们要学会面对,并正确的解决问题,我们会变得更加强大,更加适合团队合作!

    工作照

  • 相关阅读:
    tyvj P3737 逐个击破
    最小生成树 kruskal
    最小生成树 prim
    code2039 骑马修栏杆
    前端优化
    数组1
    数组
    序列化对象
    解决iphone横屏时字体变大问题或者内容大小不一样等...
    Media Queries详解
  • 原文地址:https://www.cnblogs.com/czl123/p/4348546.html
Copyright © 2011-2022 走看看