zoukankan      html  css  js  c++  java
  • 最大字串和

    最大字串和:



    #include <iostream>
    using namespace std;
    
    
    //求最大字串和:返回最大和
    int maxSubSum(int a[], int len)
    {
        int sum = 0;     //全局最大值
        int temp = 0;    //局部最大值
        for(int i = 0; i < len; ++i)
        {
            if(temp > 0)  //假设局部最大值大于0,则继续求和,否则以数组当前元素又一次初始化
            {
                temp += a[i];
            }
            else temp = a[i];
            
            if(temp > sum) //假设局部最大值大于全局最大值则更新
                sum = temp;
        }
        return sum;
    }
    
    //求最大字串和:返回最大和
    //           L: 最大字串的開始位置
    //           R: 最大字串的结束位置
    int maxSunSum(int a[], int len, int &L, int &R)
    {
        int sum = 0;
        int temp = 0;
        for(int i = 0; i < len; ++i)
        {
            if(temp > 0)
            {
                temp += a[i];
            }
            else
            {
                temp = a[i];
                L = i;
            }
            
            if(temp > sum)
            {
                sum = temp;
                R = i;
            }
        }
        return sum;
    }
    
    int main()
    {
        int a[9] = {-2, 1, -3, 4, -1, 2, 1, -5, 4};
        int L = 0, R = 0;
        int sum = maxSunSum(a, 9, L, R);
        cout << sum << " : " << endl;
        cout << L << " " << R << endl;
        
        //cout << maxSubSum(a, 9) << endl;
    }


  • 相关阅读:
    iphoneX 兼容
    app 判断网络状态
    app 版本升级
    express 安装
    app打开QQ与陌生人聊天
    app项目中几个常用的cordvoa插件
    axios请求拦截器和相应拦截器
    vue中MD5+base64加密
    想啥写啥
    react canvas圆环动态百分比
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/5322849.html
Copyright © 2011-2022 走看看