Advertisement
nikunjsoni

325

Jun 23rd, 2021
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.52 KB | None | 0 0
  1. class Solution {
  2. public:
  3.     int maxSubArrayLen(vector<int>& nums, int k) {
  4.         if (nums.empty()) return 0;
  5.         unordered_map<int,int>entry;
  6.         int res = 0, sum = 0, n = nums.size();
  7.         for (int i = 0; i < n; i++){
  8.             sum += nums[i];
  9.             if (sum == k)
  10.                 res = i+1;
  11.             else if (entry.count(sum-k))
  12.                 res = max(res, i-entry[sum-k]);
  13.             if (!entry.count(sum))
  14.                 entry[sum] = i;
  15.         }
  16.         return res;
  17.     }
  18. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement