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

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

    设计思路:

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

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

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

    体会:

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

    工作照

  • 相关阅读:
    .NET:CLR via C# The CLR’s Execution Model
    VisualStudio:WEB 性能测试和负载测试 入门
    Maven:Maven 入门
    技术人生:东莞之行
    技术人生:新的生活计划
    Java:使用 Java 开发的一个异常处理框架
    .NET:命令行解析器介绍
    技术人生:希望有生之年开发一个“自己的解释语言”
    .NET:异常处理的两条“黄金定律”,求批!
    FAQ:Domain Event 和 C# 中的 Event 有啥区别?
  • 原文地址:https://www.cnblogs.com/czl123/p/4348546.html
Copyright © 2011-2022 走看看