美文网首页
最大子序和

最大子序和

作者: ZoranLee | 来源:发表于2021-06-28 10:26 被阅读0次

    给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。

    • 示例 1:
      输入:nums = [-2,1,-3,4,-1,2,1,-5,4]
      输出:6
      解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。

    • 示例 2:
      输入:nums = [1]
      输出:1

    提示:
    1 <= nums.length <= 3 * 10^4
    -10^5 <= nums[i] <= 10^5

    public class MaxSubSequence {
    
        /**
         * 动态规划
         * @param nums
         * @return
         */
        public static int maxSubArray(int[] nums) {
            int pre = 0, maxAns = nums[0];
            for (int x : nums) {
                pre = Math.max(pre + x, x);
                maxAns = Math.max(maxAns, pre);
            }
            return maxAns;
        }
    
        public static void main(String[] args) {
            int[] array = {-2,1,-3,4,-1,2,1,-5,4};
            int result = maxSubArray(array);
            System.out.println("---->");
            System.out.println(result);
        }
    
    }
    

    相关文章

      网友评论

          本文标题:最大子序和

          本文链接:https://www.haomeiwen.com/subject/ceqqultx.html