Skip to content

Commit 9f10878

Browse files
authored
Create split-array-with-equal-sum.py
1 parent e68e972 commit 9f10878

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

Python/split-array-with-equal-sum.py

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Time: O(n^2)
2+
# Space: O(n)
3+
4+
class Solution(object):
5+
def splitArray(self, nums):
6+
"""
7+
:type nums: List[int]
8+
:rtype: bool
9+
"""
10+
if len(nums) < 7:
11+
return False
12+
13+
accumulated_sum = [0] * len(nums)
14+
accumulated_sum[0] = nums[0]
15+
for i in xrange(1, len(nums)):
16+
accumulated_sum[i] = accumulated_sum[i-1] + nums[i]
17+
for j in xrange(3, len(nums)-3):
18+
lookup = set()
19+
for i in xrange(1, j-1):
20+
if accumulated_sum[i-1] == accumulated_sum[j-1] - accumulated_sum[i]:
21+
lookup.add(accumulated_sum[i-1])
22+
for k in xrange(j+2, len(nums)-1):
23+
if accumulated_sum[-1] - accumulated_sum[k] == accumulated_sum[k-1] - accumulated_sum[j] and \
24+
accumulated_sum[k - 1] - accumulated_sum[j] in lookup:
25+
return True
26+
return False

0 commit comments

Comments
 (0)