/**
* @param {number[]} nums
* @return {number}
*/
var maxSubArray = function(nums) {
const f = Array(nums.length).fill(Number.MIN_SAFE_INTEGER);
f[0] = nums[0];
let res = f[0];
for (let i = 1; i < nums.length; ++i) {
f[i] = Math.max(f[i - 1] + nums[i], nums[i]);
res = Math.max(res, f[i]);
}
return res;
};