-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSumOnLeftAndRight.py
28 lines (25 loc) · 943 Bytes
/
SumOnLeftAndRight.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
def find_even_index(arr):
#your code here
sum = 0
for item in arr:
sum += item
sumOnLeft = 0
sumOnRight = sum
i = 0
for item in arr:
sumOnRight -= item
if sumOnRight == sumOnLeft:
return i
i+=1
sumOnLeft +=item
return -1
Test.assert_equals(find_even_index([1,2,3,4,3,2,1]),3)
Test.assert_equals(find_even_index([1,100,50,-51,1,1]),1,)
Test.assert_equals(find_even_index([1,2,3,4,5,6]),-1)
Test.assert_equals(find_even_index([20,10,30,10,10,15,35]),3)
Test.assert_equals(find_even_index([20,10,-80,10,10,15,35]),0)
Test.assert_equals(find_even_index([10,-80,10,10,15,35,20]),6)
Test.assert_equals(find_even_index(range(1,100)),-1)
Test.assert_equals(find_even_index([0,0,0,0,0]),0,"Should pick the first index if more cases are valid")
Test.assert_equals(find_even_index([-1,-2,-3,-4,-3,-2,-1]),3)
Test.assert_equals(find_even_index(range(-100,-1)),-1)