zoukankan      html  css  js  c++  java
  • 数组的最大子数组求和问题

        一个数组可以有很多个子数组,求一个数组中何止最大的子数组

              分析:求取最大的子数组和值,我们可以从从第一位开始,向后累加,然后与当前的以为开始比较,如果大于当前位上的数,那么说明此时的值为最大和值;若是小于当前位的值,则说明前一组即为最大和值。

       源代码:#include<iostream>
            using namespace std;
            int main()
            {
                int a[10],i,n;
                cin>>n;
                for(i=1;i<=n;i++)
                    cin>>a[i];
                for(i=2;i<=n;i++)
                {
                    if(a[i]+a[i-1]>a[i])
                        a[i]=a[i]+a[i-1];
                }
                int amin=-1000;
                for(i=1;i<=n;i++)
                    min=max(min,a[i]);
                cout<<min<<endl;
                return 0;
             }

        结果截图:

             

    若是环形数组,可将其考虑为将环形数组依次以每一位元素作为数组首元素,执行上述步骤。

    总结:对于类似的问题要明确出自己所要做的每一步,如何求,求什么,可以对问题进行适当的分解,逐步解决

      

  • 相关阅读:
    python--threading多线程总结
    云服务器 ECS Linux CentOS 修改内核引导顺序
    日记——心刊
    64位linux安装wine等软件
    service: no such service mysqld 与MySQL的开启,关闭和重启
    python调用chrome ie等浏览器
    Linux系统下强制踢掉登录用户
    python读取数据库数据,读取出的中文乱码问题
    jmeter生成时间的函数
    PHP 递归超过100次会自动停止
  • 原文地址:https://www.cnblogs.com/2210633591zhang/p/12378594.html
Copyright © 2011-2022 走看看