Number of Ways to Split Array

Count indices where left prefix sum >= right suffix sum.

Example 1
Input: nums=[10,4,-8,7] → Output: 2
Example 2
Input: nums=[2,3,1,0] → Output: 2

Solution Approach

Compute total sum. Scan left accumulating prefix; check if prefix >= total-prefix.

  • Compute total sum
  • Track prefix sum while scanning
  • At each i (0 to n-2): if prefix >= total-prefix count it
  • Return count
Java
public int waysToSplitArray(int[] nums) {
    long total = 0, prefix = 0;
    for (int n : nums) total += n;
    int count = 0;
    for (int i = 0; i < nums.length - 1; i++) {
        prefix += nums[i];
        if (prefix >= total - prefix) count++;
    }
    return count;
}
  • Time Complexity: O(n)
  • Space Complexity: O(1)