int pre = 0, maxAns = nums[0];
for (int x : nums) {
pre = Math.max(pre + x, x);
maxAns = Math.max(maxAns, pre);
}
return maxAns;
使用贪心算法,在导入的数组中,初始化初始值为nums[0]。
在x移动后,如果x所在位置的前面的值相加为负数,则丢弃,如果为正则相加
在取得过程中的最大值,便是子数组的最大和