• 和最大子数组


    设计思路

    实在没有其他思路,只有将所有子数组的和算出来,再进行比较得到最大值和子数组。

    程序源代码

    #include<iostream>

    #include<ctime>

     

    using namespace std;

     

    void main()

    {

         int a[20];             //整数数组

         int f;                 //数值范围

         int i,j,k;             //控制循环变量

         int sum,max=-100;      //和与最大值

         int m,n;               //记录子数组

     

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

         cin>>f;

     

         srand((unsigned) time(NULL));

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

         {

             a[i]=(rand()%2?-1:1)*rand()%f;

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

         }

         cout<<endl;

     

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

         {

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

             {

                  sum=0;

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

                       sum=sum+a[k];

                  if (sum>max)

                  {

                       max=sum;

                       m=j;

                       n=i;

                  }

             }

         }

     

         cout<<"子数组的最大值为:"<<max<<endl;

         cout<<"子数组是第"<<m+1<<"个数,到第"<<n+1<<"个数。"<<endl;

         cout<<"子数组是:";

         for (i=m;i<=n;i++)

         {

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

         }

         cout<<endl;

     

    }

    截图

    总结

    设计的思路决定了一个程序的代码利用率和时间复杂度,思路的清晰程度决定了编写程序的流畅程度;这道题我的思路有点混乱,编写的很困难,就这,还是没想到好的方法!!

    时间复杂度还是没达到要求。

    项目计划总结 

    时间日志记录  

    缺陷日志记录

  • 相关阅读:
    iOS 键盘自适应(IQKeyboardManager)使用小结
    GitHub error “Failed to get HEAD”
    Java 8 VM GC Tuning Guide Charter2
    Java 8 VM GC Tuning Guide Charter3-4
    java中加密解密工具类
    effactive java读书小结1
    RESTful风格的SSM框架搭建
    关于“Could not open ServletContext resource [/WEB-INF/applicationContext.xml]”解决方案
    HttpPutFormContentFilter 和 ContextLoaderListener 讲解
    mybatis-spring 项目简介
  • 原文地址:https://www.cnblogs.com/D9412/p/4360781.html
Copyright © 2020-2023  润新知