Java教程

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

本文主要是介绍LetCode#53(JAVA)给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

53. 最大子序和

题目

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

举例

在这里插入图片描述
思路:

最优解其实使用到动态规划,这里动态规划还不是很会,所以就用最暴力的解法,从头遍历到最后,保存最大值,最后输出最大值。

代码:

 public int maxSubArray(int[] nums) {
        int max=Integer.MIN_VALUE;
        for (int i = 0; i < nums.length; i++) {
            int sum =0;
            for (int j = i; j < nums.length; j++) {
                sum+=nums[j];
                if (sum>max){
                    max=sum;
                }
            }
        }
        return max;
    }

总结:

没什么好说的,用的大家都能想出来的方法,就不多写了,下次遇到类似问题,尝试使用动态规划写出来。

2021年9月15日09:50:27

这篇关于LetCode#53(JAVA)给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!