LC 1546. Maximum Number of Non-Overlapping Subarrays With Sum Equals Target

link

class Solution {
public:
    int maxNonOverlapping(vector<int>& nums, int target) {
        unordered_map<int,int> pos;
        pos[0]=-1;
        int sum=0;
        int n=nums.size();
        int res=0;
        int last=-1;
        for(int i=0;i<n;i++){
            sum+=nums[i];
            if(pos.find(sum-target)!=pos.end() && pos[sum-target]>=last){
                res++;
                last=i;
            }
            pos[sum]=i;
        }
        return res;
    }
};
原文地址:https://www.cnblogs.com/FEIIEF/p/13468446.html