2023.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:38  与孤独对酌  阅读(19)  评论(0)    收藏  举报