zoukankan      html  css  js  c++  java
  • Dp解决数组中连续子数组的最大和

    #include<iostream>

    using namespace std;

    int DP(int a[],int size)
    {
        int TempSum,CurSum;
        CurSum = a[0];
        int max = CurSum;
        for(int i = 1;i<size;i++)
        {
              TempSum = CurSum;
              if(TempSum>0)
              {
                      CurSum = (TempSum+a[i]) >= a[i] ? (TempSum+a[i]) : a[i];
              }
              else
              {
                      CurSum = a[i];
              }
              if(CurSum > max)
              {
                        max = CurSum;
              }
        }
        return max;
    }
    int main()
    {
        int a[] = {1,-2,3,10,-4,7,2,-5};
        int result = DP(a,8);
        cout << result << endl;
        system("pause");
        
        return 0;
    }

  • 相关阅读:
    Java虚拟机JVM学习05 类加载器的父委托机制
    java 接口
    java 抽象类
    代码块(2)
    获取超额收益的思考
    HttpServer
    交易过程思考
    A股时间窗口
    redash学习记录
    MySQL学习记录
  • 原文地址:https://www.cnblogs.com/xiawen/p/3305767.html
Copyright © 2011-2022 走看看