3月6日每日总结

今日课堂训练代码

import java.util.Scanner;

public class Solution {
    public int maxSubArray(int[] nums) {
        int n = nums.length;
        int[] dp = new int[n];
        dp[0] = nums[0];
        int max = dp[0];
        for (int i = 1; i < n; i++) {
            dp[i] = Math.max(dp[i-1] + nums[i], nums[i]);
            max = Math.max(max, dp[i]);
        }
        return max;
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入整数数组,以空格分隔:");
        String[] inputs = scanner.nextLine().split(" ");
        int[] nums = new int[inputs.length];
        for (int i = 0; i < inputs.length; i++) {
            nums[i] = Integer.parseInt(inputs[i]);
        }
        Solution solution = new Solution();
        int result = solution.maxSubArray(nums);
        System.out.println("最大子数组的和为:" + result);
    }
}

posted @ 2023-03-06 21:33  catchtheRainbow  阅读(10)  评论(0)    收藏  举报