最大子数组和
今天上课的课堂练习其实是一道力扣里的算法题

我写的代码是:
package example;
import java.util.Scanner;
public class ceshi_sum_max {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
int[] list = new int[1000000];
int n = cin.nextInt();
for (int i = 0; i < n; i++) {
list[i] = cin.nextInt();
}
int sum=0,max=list[0];
for(int i=0;i<n;i++){
sum+=list[i];
if(sum>max){
max=sum;
}else if(sum<max){
sum=0;
}
}
System.out.println(max);
}
}
最厉害的算法是:
public class Solution {
public int maxSubArray(int[] nums) {
int pre = 0;
int res = nums[0];
for (int num : nums) {
pre = Math.max(pre + num, num);
res = Math.max(res, pre);
}
return res;
}
}

浙公网安备 33010602011771号