。
- 最大子数组和
var maxSubArray = function(nums) {
let pre = nums[0] ,max =nums[0]
for(let i=1;i<nums.length;i++){
pre =Math.max(pre+nums[i],nums[i])
max=Math.max(pre,max)
}
return max
};
560. 和为 K 的子数组
前缀和
var subarraySum = function(nums, k) {
let tmp = 0,res = 0
const map = new Map()
//map.set(0,1)不加 结果出错!!!
map.set(0,1)
for(let i =0 ;i < nums.length ;i++){
tmp += nums[i]
if(map.has(tmp - k)){
res += map.get(tmp - k)
}
//先+res,再set
map.set(tmp,(map.get(tmp) || 0)+1)
}
return res
};