class Solution {
public:
int maxSubArrayLen(vector<int>& nums, int k) {
int size = nums.size();
int sum = 0;
int ans = 0;
map<int,int>prefix;
prefix[0] = 0;
for(int i=0;i<size;i++){
sum+=nums[i];
if(!prefix.count(sum)){
prefix[sum]=i+1;
}
if(prefix.count(sum-k)) {
ans=max(ans,i+1-prefix[sum-k]);
}
}
return ans;
}
};
325 和等于k的最长子数组长度
最新推荐文章于 2021-06-20 06:51:07 发布