首页 > 试题广场 >

请问以下代码在执行什么逻辑? int calc(

[单选题]
请问以下代码在执行什么逻辑?

int calc(vector<int> a){
    int m = 0;
    int s = 0;
    for (size_t i = 0; i < a.size(); ++i){
        s += a[i];
        if (m < s)
            m = s;
        else if (s < 0)
            s = 0;
    }
    return m;
}

  • 计算总和最大的连续数列
  • 计算只包含正数的总和最大的连续数列
  • 计算所有和不小于0非连续数列的和
  • 计算数列中所有正数的和
**题,根本不对
发表于 2021-04-01 16:17:52 回复(0)
最大子序列的高效算法
发表于 2020-08-24 21:00:08 回复(0)
这个题目出的太失败了,如果vector全是负数呢?只会返回0。答案是错的
发表于 2020-10-02 00:02:57 回复(2)