zoukankan      html  css  js  c++  java
  • 数组中子数组之和最大值

    设计思路:

    1.用随机数产生一定数量的整数,分别用变量控制随机数的正负和范围。

    2.把数组的第一位a[0]设为最大值max和子数组之和sum的初始值,与之后的数目进行比较,如果第二个数大于等与0且sum小于等与0;令sum=第二个数;如果第二个数大于等与0且sum大于0;则sum=+第二个数;如果第二个数小于0且max大于等于0,则sum=0;如果第二个数小于0且max小于于0,则sum=的二个数。最后sum与max选出较大的,就是结果。

    代码:

    #include <iostream>
    #include<cmath>
    using namespace std;

    void main()
    {
      int n,m,i,x,s[100], sum, Max;
     cout<<"输入数组的个数和数组中元素的最大范围";
      cin>> n>>m;
      for(i = 0; i < n; ++i)
      {
       x=rand()%2+1;
       const int y=pow(-1.0,x);
       s[i]=y*rand()%m+1;
     
      }
      for( i = 0; i < n; ++i)
      {
       cout<<s[i]<<" ";
      }
     Max = sum = s[0];
      for(i = 1; i < n; ++i)
      {
          if(s[i] >= 0)
          {
            if(sum <= 0)
              sum = s[i];
            else
              sum = sum + s[i];
          }
          else
          {
            if(Max >= 0)
            {
              sum = 0;
            
            }

            else
              sum = s[i];
          }

          if(sum > Max)
            Max = sum;
       
      }
      cout << "max = " << Max << endl;

    }

    总结:如果用时间复杂度f(n^2)比较容易,但比较难的是把时间复杂度f(n),所以我就上网了搜了一下,找到了简单的算法。所以问题在难,也会有解决的办法,前提就必须有扎实的基础,才能找到更好的办法。

    周活动总结表:

    日期 听课 编写程序 阅读课本 准本考试 日总计
    周日   60 30   90
    周一 200 30 30   260
    周二 500       500
    周三 100 60 30   190
    周四 400 30     430
    周五 300 30 30   360
    周六   60 30   90
    周总结 1500 270 150   1920

    时间记录日志

    日期 开始时间 结束时间 中断时间 净时间 活动 备注
    3/20 10:10 12:00 10 100 听课  
      14:00 15:50 10 100 听课  
      20:00 21:00   60 编程 设计西路
    3/21 9:00 10:00   60 编程

    寻找时间复杂度为f(n)的方法

      19:00 20:00   60 编程  
    3/22 15:00 17:00 30 120 编程  
    3/23 8:00 9:50 10 100 听课  
      10;00 10:45   45 写实验报告  

    缺陷记录日志:

    日期 编号 类型 映入阶段 排出阶段 修复时间 修复缺陷
    3/21 1   编码 编译 1min  
    描述:a没有初始化定义
    2   编码 编译 1min  
    描述:漏掉了分号“;”
    3   编码 编译    
    描述:从“double”转换到“const int”,可能丢失数据
    3/22 4   编码 编译 1min  
    描述:漏掉了“}”
  • 相关阅读:
    webservice的cxf的客户端
    webservice用cxf发布SOAP
    webservice声明发布SOAP1.2
    webservice使用注解修改WSDL内容
    webservice获取天气信息
    结巴分词原理介绍
    Pytorch学习记录-torchtext和Pytorch的实例( 使用神经网络训练Seq2Seq代码)
    【Pandas】Pandas求某列字符串的长度,总结经验教训
    UTF-8与UTF-8 BOM
    logging.basicConfig函数
  • 原文地址:https://www.cnblogs.com/double1/p/4357554.html
Copyright © 2011-2022 走看看