给定一个数组,求数组中最大连续子序列的和-PHP问题

资源魔 33 0

工夫复杂度为O(n)

只要要过一遍数组便可,然而需求深化了解这个数组的实质特色,即静态布局的办法。

起首设置两个变量,thisSum以及maxSum。此中thisSum示意走到以后地位元素的以及;maxSum示意走到以后地位下的延续子序列的最年夜以及。

留意:假如thisSum为负,则间接将其置为0;假如thisSum年夜于maxSum,则将maxSum置为thisSum的值。

public static int maxSubArray(int[] nums)
    {
        int length = nums.length;
        if(length <= 0)
            return 0;
        int CurSum = 0;
        int max = Integer.MIN_VALUE;
        for(int i = 0; i < length; i++)
        {
            if(CurSum <= 0)     //铛铛前的以及小于等于0,那末就给其置为以后元素的值
                CurSum = nums[i];
            else
                CurSum += nums[i];
            if(CurSum > max)
                max = CurSum;
        }
        return max;
    }

保举教程:PHP教程

以上就是给定一个数组,求数组中最年夜延续子序列的以及的具体内容,更多请存眷资源魔其它相干文章!

标签: 数组 php教程 php故障解决 php使用问题 最大 连续子序列

抱歉,评论功能暂时关闭!