325. Maximum Size Subarray Sum Equals k
Maximum Size Subarray Sum Equals k
Note:Example 1:Example 2:Follow Up:
Can you do it in O(n) time?Solution
public class Solution {
public int maxSubArrayLen(int[] nums, int k) {
Map<Integer, Integer> map = new HashMap<>();
int sum = 0;
int result = 0;
for (int i = 0; i < nums.length; i++) {
sum += nums[i];
if (sum == k) result = Math.max(result, i+1);
if (map.containsKey(sum - k)) {
result = Math.max(result, i - map.get(sum - k));
}
if (!map.containsKey(sum)) {
map.put(sum, i);
}
}
return result;
}
}Last updated