(int[] nums, int goal)
| 3 | return helper(nums, goal) - helper(nums, goal - 1); |
| 4 | } |
| 5 | private int helper(int[] nums, int goal){ |
| 6 | if(goal < 0) |
| 7 | return 0; |
| 8 | |
| 9 | int res = 0, sum = 0; |
| 10 | int l = 0; |
| 11 | |
| 12 | for(int r = 0; r < nums.length; r++){ |
| 13 | sum += nums[r]; |
| 14 | while(sum > goal){ |
| 15 | sum -= nums[l]; |
| 16 | l += 1; |
| 17 | } |
| 18 | res += (r - l + 1); |
| 19 | } |
| 20 | return res; |
| 21 | } |
| 22 | } |