DDSA Solutions

Split an array into two equal Sum subarrays

Time: O(n)
Space: O(1)

Problem Overview

Check if array can be split into two parts with equal sum.

Advertisement

Intuition

Check if array can be split into two parts with equal sum. Prefix sum check.

Algorithm

  1. 1Total sum must be even. Find index where prefix sum = total/2.

Common Pitfalls

  • O(n). Total odd: impossible. Find split point where prefix sum equals half.
Split an array into two equal Sum subarrays.java
Java
// Approach: Compute total sum; if odd, impossible. Find split point where left prefix sum = sum/2.
// Time: O(n) Space: O(1)
class Solution {
    public boolean canSplit(int arr[]) {
        int sum = 0;
        for (int a : arr)
            sum += a;

        int temp = 0;
        for (int a : arr) {
            temp += a;
            if (temp == (sum - temp))
                return true;
        }

        return false;
    }
}
Advertisement
Was this solution helpful?