小编Eli*_*Ziv的帖子

找到具有不同条件的连续子​​集的最大总和

我找不到与我正在处理的这个具体问题有关的问题.所以问题是,要找到具有最大总和的数组中的连续子集,但是子集的第一个整数应该大于其在O(n)时间内的最后一个整数.

例如 : 2 4 12 16 3 19 5 20 18 24

输出应为62,(19 5 20 18).到目前为止,我已经提出了这个算法:

  private int biggestSum(int[] arr)
    {
        int startingIndex = 0;
        int endingIndex = 1;
        int sum_so_far = arr[0];
        int sum_biggest = arr[0];
        int count = 0;
        for (int i = 1; i < arr.Length; i++)
        {
            sum_so_far += arr[i];
            count++;
            if (sum_so_far > sum_biggest)
            {
                startingIndex = i - count;
                endingIndex = i;
                sum_biggest = sum_so_far;
            }
            if (sum_so_far < 0)
            {
                sum_so_far = …
Run Code Online (Sandbox Code Playgroud)

algorithm

11
推荐指数
1
解决办法
305
查看次数

标签 统计

algorithm ×1