Binary Subarrays With Sum LeetCode solution in C++
1class Solution {2public:3int lessequal(vector<int> &nums, int goal) {4if (goal < 0) return 0;56int n = nums.size();7int i = 0, j = 0;8int sum = 0;9int ans = 0;1011while (j < n) {12sum += nums[j];1314while (sum > goal) {15sum -= nums[i];16i++;17}18ans += j - i + 1;19j++;20}2122return ans;23}2425int numSubarraysWithSum(vector<int> &nums, int goal) {26return lessequal(nums, goal) - lessequal(nums, goal - 1);27}28};2930// our function is giving number of subarrays with sum less or equal to goal.31// upvote if it helps.