# 1546. Maximum Number of Non-Overlapping Subarrays With Sum Equals Target ###### tags: `Leetcode` `Medium` `Greedy` `Prefix Sum` Link: https://leetcode.com/problems/maximum-number-of-non-overlapping-subarrays-with-sum-equals-target/ ## 思路 $O(N)$ $O(N)$ ## Code ```java= class Solution { public int maxNonOverlapping(int[] nums, int target) { int[] prefixSum = new int[nums.length+1]; for(int i = 0;i < nums.length;i++){ prefixSum[i+1] = prefixSum[i]+nums[i]; } int ans = 0; int prev = 0; Map<Integer, Integer> map = new HashMap<>(); for(int i = 0;i < prefixSum.length;i++){ int remain = prefixSum[i]-target; if(map.containsKey(remain) && map.get(remain)>=prev){ ans+=1; prev=i; } map.put(prefixSum[i],i); } return ans; } } ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up