今天写了一个小测试,关于数组的子数组之和最大的。
今天我学习了一种解决数组问题的算法,即统计数组中子数组之和最大的问题。该算法可以在O(n)的时间复杂度内解决这个问题,因此非常高效。
在学习中,我了解到了一些基本的概念和技巧,例如前缀和、动态规划等。通过这些方法,我可以更加方便地计算出数组中子数组的和,并且能够快速地找到其中最大的那一个。
通过这个算法,我不仅能够解决数组问题,还能够更深入地了解数据结构和算法方面的知识。这也让我意识到了自己在这方面的不足,我会继续努力学习,提高自己的能力。
总的来说,今天的学习让我受益匪浅,我相信在未来的学习和工作中,这个算法会对我产生很大的帮助。
import java.util.Scanner;标签:11,int,每日,System,maxSum,数组,sc,小结,sum From: https://www.cnblogs.com/jingyk/p/17185896.html
public class Math {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入整数数组长度:");
int n = sc.nextInt();
int[] nums = new int[n];
System.out.println("请依次输入数组中的" + n + "个整数:");
for (int i = 0; i < n; i++) {
nums[i] = sc.nextInt();
}
sc.close();
int maxSum = Integer.MIN_VALUE;
int sum = 0;
for (int i = 0; i < n; i++) {
sum += nums[i];
if (sum > maxSum) {
maxSum = sum;
}
if (sum < 0) {
sum = 0;
}
}
System.out.println("所有子数组的和的最大值为:" + maxSum);
}
}