zoukankan      html  css  js  c++  java
  • 求子数组和最大值拓展

    题目:返回一个整数数组中最大子数组的和。

    要求: 要求程序必须能处理1000 个元素; 每个元素是int32 类型的。

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

    我的组员是朱少辉,我负责代码复审和代码测试。

    设计思想:将数组长度范围扩大能够处理1000个数,而Int32 值类型表示值介于 -2,147,483,648 到 +2,147,483,647 之间的有符号整数,当大于该数时则会归零,可以用string类型来实现。

    代码:#include<iostream>

    #include<cmath>
    using namespace std;
    void main()
    {
             int a[25000],i,j,f,n;
             int MaxSum = 0;
             int k = 0;
             cout<<"请输入数组中数字的个数"<<endl;
             cin>>n;
             for(i=0;i<n;i++)
             {
                       j=rand()%2+1;
                       f=pow(-1.0,j);
                       a[i]=f*rand()%100000;
              }

             cout<<endl;
             cout<<"最大子数组为";

            for(i=0;i<n;i++)
            {

                       k += a[i];
                       if(k > MaxSum)

                       {
                       MaxSum = k;
                        }
                       if(k < 0)

                       {
                       k = 0;

                       }

             }

             cout<<MaxSum<<endl;
    }

    截图:

    工作照:

     出现问题:当数值过大或者数组长度过大时,计算机会报错,因为超出了int32类型的范围,所以可用String字符串解决问题。

    总结:当两个人结对开发时,会有少许的碰撞和摩擦,但最终能够交换意见和看法,将问题简单化,更快地解决问题。可见合作对软件团队开发的重要性。

  • 相关阅读:
    Android消息的提示,Toast吐司方式
    Java内部类
    Android环境配置及运行helloWord案例
    翻译Android API Guides: App Manifest
    Android Configuration介绍 (未完成)
    jquery之效果操作
    jquery之属性操作
    JQuery之dom文档操作
    jQuery之css操作
    jQuery选择器的优点
  • 原文地址:https://www.cnblogs.com/houtaoliang/p/4377472.html
Copyright © 2011-2022 走看看