Maximum Size Subarray Sum Equals k LT325
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Maximum Size Subarray Sum Equals k LT325相关的知识,希望对你有一定的参考价值。
?????????instead long bit ace targe example min fit length
Given an array nums and a target value k, find the maximum length of a subarray that sums to k. If there isn???t one, return 0 instead.
Note:
The sum of the entire nums array is guaranteed to fit within the 32-bit signed integer range.
Example 1:
Given nums = [1, -1, 5, -2, 3]
, k = 3
,
return 4
. (because the subarray [1, -1, 5, -2]
sums to 3 and is the longest)
Example 2:
Given nums = [-2, -1, 2, 1]
, k = 1
,
return 2
. (because the subarray [-1, 2]
sums to 1 and is the longest)
Follow Up:
Can you do it in O(n) time?
Idea 1. HashMap to store (prefixSum, the first index prefixSum ends) + prefix subarray sum.
Time complexity: O(n)
Space complexity: O(n)
1 public class Solution { 2 public int maxSubArrayLen(int[] nums, int k) { 3 int maxLen = 0; 4 Map<Integer, Integer> sumIndex = new HashMap<>(); 5 sumIndex.put(0, -1); 6 7 int sum = 0; 8 for(int i = 0; i < nums.length; ++i) { 9 sum += nums[i]; 10 Integer left = sumIndex.get(sum - k); 11 if(left != null) { 12 maxLen = Math.max(maxLen, i - left); 13 } 14 sumIndex.putIfAbsent(sum, i); 15 } 16 return maxLen; 17 } 18 }
以上是关于Maximum Size Subarray Sum Equals k LT325的主要内容,如果未能解决你的问题,请参考以下文章
[Locked] Maximum Size Subarray Sum Equals k
325. Maximum Size Subarray Sum Equals k
325 Maximum Size Subarray Sum Equals k
LeetCode 325. Maximum Size Subarray Sum Equals k