""" 0724.1 - Solution 1 - Prefix Sum """
#####################################################################################
# Imports
#####################################################################################
from typing import List
#####################################################################################
# Classes
#####################################################################################
class Solution:
"""Solution Class"""
def pivotIndex(self, nums: List[int]) -> int:
"""Find Pivot Index Function"""
total = sum(nums)
left_sum = 0
for i, num in enumerate(nums):
right_sum = total - left_sum - num
if left_sum == right_sum:
return i
left_sum += num
return -1
#####################################################################################
# Functions
#####################################################################################
def testcase():
"""Test Function"""
print(Solution().pivotIndex([1, 7, 3, 6, 5, 6])) # Expected: 3
print(Solution().pivotIndex([1, 2, 3])) # Expected: -1
print(Solution().pivotIndex([2, 1, -1])) # Expected: 0
#####################################################################################
# Main
#####################################################################################
if __name__ == "__main__":
testcase()