zoukankan      html  css  js  c++  java
  • 线性最大子数组的求法

    成员:李小超,马国彬

    今天(3月10号),王老师给我们留了一个子数组,求最大值的方法,今天上午的时候求出来了时间复杂度为n方的,今天晚上我和我的搭档马国彬同学,经过一晚上自习的时间终于做出来了。首先我们经过很多讨论,开始的时候有一点想法,可是做了一半就不对了,我的想法是先判断第一个数,然后加上后面的数进行比较max看看谁的比较大,大的给max,然后i++向后进展,其实思路很简单,只不过实现有点问题,这个i的移动特别不好控制,容易乱。我们写的代码如下:

    // 最大子数组.cpp : Defines the entry point for the console application.

    //

     

    #include "stdafx.h"

     

    int main(int argc, char* argv[])

    {

        int a[10]={5,-1,3,2,-10,2,6,3,-1,-2};

    int i,max;

    max=a[0];

    for(i=0;i<10;i++)

    {

    if(a[i]>max)

    max=a[i];

    }

    for(i=0;i<9;i++)

    {

    if(a[i]>0)

    {

    a[i+1]=a[i]+a[i+1];

    if(max<a[i+1])

    {

    max=a[i+1];

    }

    if(a[i+1]<0)

    {

    i++;

    max=a[i+1];

    }

    }

    }

    printf("%d ",max);

    return 0;

    }

    上面是我前面算的,马国彬后面算的,思想都一样。 这些都是我们俩个经过不懈努力做出来的。以上是我们的想法,有什么不足之处,还望指正,谢谢!

  • 相关阅读:
    第十一周课程总结
    第十周课程总结
    第九周课程总结&实验报告(七)
    第八周课程总结&实验报告(六)
    第七周课程总结&实验报告(五)
    第六周课程总结&试验报告(四)
    课程总结
    第十四周课程总结&实验报告(简单记事本的实现)
    第十三周
    第十二周学习总结
  • 原文地址:https://www.cnblogs.com/lixiaochao/p/3592890.html
Copyright © 2011-2022 走看看