zoukankan      html  css  js  c++  java
  • 返回一个整数数组中最大子数组的和

    设计思想

    首先确定生成数值的范围,然后生成随机数存入数组,用两个for循环来检测子数组的和,定义一个变量保存最大子数组的和。

    源程序代码

    #include <iostream>

    #include <cstdlib>

    #include <ctime>

    using namespace std;

     

    void main()

    {

         int a[20],b,c,d=0,i,j,k,t=-100,o=-100,x,y;

         cout<<"请输入数值范围:"<<endl;

         cin>>b>>c;

         cout<<"生成数组为:"<<endl;

         srand(unsigned(time(0)));

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

         {

             a[i]=rand()%(c-b+1)+b;

             cout<<a[i]<<" ";

         }

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

         {

             for (j=i;j<20;j++)

             {

                  d=0;

                  for (k=i;k<=j;k++)

                  {

                       d=d+a[k];

                  }

                  if (d>t) {t=d;x=i;y=j;}

             }

             if (t>o) o=t;

         }

         cout<<endl<<"最大子数组的和:"<<endl;

         for (i=x;i<=y;i++)

         {

             if (a[i]>=0)

             {

                  cout<<a[i];

             }

             else cout<<"("<<a[i]<<")";

             if (i!=y) cout<<"+";

             else cout<<"=";

         }

         cout<<o<<endl;

    }

    运行结果截图

    编程总结

    功能可以实现,但是时间复杂度较高。

    项目计划总结

     时间日志记录

    缺陷日志记录

  • 相关阅读:
    POST请求
    怎样在ios开发中设置tableview的cell颜色
    error LNK2005 已经在***.obj中定义
    IOS开发之UIView的基本使用
    [置顶] 浅谈Android的资源编译过程
    IOS开发之UIView总结
    鉴别不使用的索引
    浅谈Jquery的使用下篇
    Go如何使用实现继承的组合
    做一个小淘气轮廓--文章和论文专辑
  • 原文地址:https://www.cnblogs.com/BUANG/p/4360569.html
Copyright © 2011-2022 走看看