LeetCode 2270: Number of Ways to Split Array

ArrayPrefix Sum

Problem Description

Explanation

To solve this problem, we can iterate through the array and maintain prefix sums. Then for each possible split point i, we check if the sum from the beginning to index i is greater than or equal to the sum from index i+1 to the end. If this condition is met, we increment a counter for valid splits. The total number of valid splits will be the final result.

  • Initialize a variable totalSplits to 0 to store the count of valid splits.
  • Calculate the total sum of the array totalSum.
  • Iterate through the array from index 0 to n-2.
    • Keep track of the prefix sum up to the current index.
    • Check if the prefix sum is greater than or equal to totalSum - prefixSum. If true, increment totalSplits.
  • Return the totalSplits as the final result.

Solutions

class Solution {
    public int waysToSplit(int[] nums) {
        int totalSplits = 0;
        int n = nums.length;
        int totalSum = 0;
        for (int num : nums) {
            totalSum += num;
        }
        
        int prefixSum = 0;
        for (int i = 0; i < n - 1; i++) {
            prefixSum += nums[i];
            if (prefixSum >= totalSum - prefixSum) {
                totalSplits++;
            }
        }
        
        return totalSplits;
    }
}

Loading editor...