具体思想:
经典前缀和记忆化搜索;
子序列和要么记忆化剪枝搜索要么dp要么记忆化前缀和;
具体代码:
class Solution {
public:
int maxSubArrayLen(vector<int>& nums, int k) {
int maxn=0;
map<int,int>mp;
int sum=0;
mp[0]=-1;
for(int i=0;i<nums.size();i++){
sum+=nums[i];
if(!mp.count(sum))
mp[sum]=i;
if(mp.count(sum-k)){
maxn=max(i-mp[sum-k],maxn);
}
}
return maxn;
}
};