From da0e11337cf8ec5daee923f0b001cec8609a6dac Mon Sep 17 00:00:00 2001 From: wyl <959814898@qq.com> Date: Wed, 26 Jun 2024 15:45:07 +0800 Subject: [PATCH] =?UTF-8?q?leetcode=2053.=2053.=20=E6=9C=80=E5=A4=A7?= =?UTF-8?q?=E5=AD=90=E6=95=B0=E7=BB=84=E5=92=8C=EF=BC=88=E8=B6=85=E6=97=B6?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/wyl/leetcode/MaxSubArray.java | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 leetcode/src/main/java/com/wyl/leetcode/MaxSubArray.java diff --git a/leetcode/src/main/java/com/wyl/leetcode/MaxSubArray.java b/leetcode/src/main/java/com/wyl/leetcode/MaxSubArray.java new file mode 100644 index 0000000..2f36fd1 --- /dev/null +++ b/leetcode/src/main/java/com/wyl/leetcode/MaxSubArray.java @@ -0,0 +1,43 @@ +package com.wyl.leetcode; + +/** + * 53.给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 + *

+ * 子数组 + * 是数组中的一个连续部分。 + *

+ * 示例 1: + *

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

+ * 输入:nums = [1] + * 输出:1 + * 示例 3: + *

+ * 输入:nums = [5,4,-1,7,8] + * 输出:23 + */ +public class MaxSubArray { + /** + * 超时 + */ + public static int maxSubArray(int[] nums) { + int max = Integer.MIN_VALUE; + for (int i = 0; i < nums.length; i++) { + int value = nums[i]; + max = Math.max(value, max); + for (int i1 = i + 1; i1 < nums.length; i1++) { + value = value + nums[i1]; + max = Math.max(value, max); + } + } + return max; + } + + public static void main(String[] args) { + System.out.println(maxSubArray(new int[]{-1, -2})); + } +}