< Back 2270. Number of Ways to Split Array Not sure how this is a Medium problem, but here goes. Array of integers, we want to find all valid splits, being that the sum of array[0:i] is greater than or equal to array[i:n-1]. We do this by maintaining a running total valid splits, a sum for the left side of the array, and a sum for the entire array. We iterate through the array until n-1, adding the value of the current element of the array to the left-hand total. We subtract the value of the left-hand total from the total sum of the array, and if the left-hand total is greater than or equal to this difference, we have found a valid split. The solution is as follows: class Solution: def waysToSplitArray(self, nums: List[int]) -> int: ans = left = 0 total = sum(nums) for i in range(len(nums) - 1): left += nums[i] right = total - left if left >= right: ans += 1 return ans _ Time Complexity: O(n) - We traverse the array once. _ Space Complexity: O(1) - We use constant space to store our answer.