zoukankan      html  css  js  c++  java
  • 最大子数组的和首尾相接(3)

    #include<iostream>

    using namespace std;

    #define Nu 5

    int main()

    {

        int a[Nu]={1,2,3,-1,4};

        cout<<"随机产生数组为:";

        for(int i=0;i<Nu;i++)

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

        cout<<endl;

        int sum=a[0],b=a[0],x=0,y=0;

        int    j=1;

        while((j-x<Nu)&&x<Nu)  

        {  

            if(b>=0)          

            {

                b=a[j%Nu];

                if(j<Nu)

                    x=j;

                else

                    break;

            }  

            else  

                b+=a[j%Nu];  

            if(sum>=b)  

            { sum=b;y=j;}  

            j++;

        } 

        sum=0;

        for(int i=y+1;i<x+Nu;i++)

            sum+=a[i%Nu];

        int z=y%Nu;

        if(x>z)

        {

            j=1;sum=a[0];b=a[0];x=0;y=0;

            while(j<Nu)  

            {  

                if(b<0)          

                { b=a[j%Nu];x=j;}  

                else  

                    b+=a[j%Nu];  

                if(sum<=b)  

                { sum=b;y=j;}  

                j++;

            } 

            cout<<x<<endl<<y<<endl;

            cout<<"相应子数组为:";

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

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

            cout<<endl;

        }

        else

        {

            cout<<x<<endl<<y<<endl;

            cout<<"相应子数组为:";

            for(int i=y+1;i<x+Nu;i++)

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

            cout<<endl;

        }

        

        

        cout<<"相邻子数组最大和为:"<<sum<<endl;

        

        

        return 0;

    }

    设计思路:介于第一次与第二次都有类似的问题,于是将两次的代码结合,互相弥补。

    后感:本来觉得很简单,后来测试发现问题很多,这个可能还有错,继续努力吧

  • 相关阅读:
    使用Ruby On Rails建立一个山寨小说站(一)
    sql server 数据库备份概述
    JVM崩溃的原因及解决!
    C++中的字节对齐
    jqueyr用jsonp跨越,有服务器端代码(.net(C#语言))
    lammps_data文件
    jquery日历插件_时间范围_双日历_多日历
    js 判断所选时间(或者当前时间)是否在某一时间段
    webstorm安装时遇到The JVM could not be started的解决方法
    Webstorm快捷键
  • 原文地址:https://www.cnblogs.com/xiaowumao/p/4433067.html
Copyright © 2011-2022 走看看