题目
找到一个中间点,使左边的集合和右边集合的求和综合相等。
**注意:**集合可以为空。并且含正负数。
我的代码(效率跟优秀代码接近)
class Solution(object):
def pivotIndex(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
if len(nums)<2:
return -1
left=0
right=sum(nums[1:])
for i in range(0,len(nums)):
if right==left:
return i
else:
left+=nums[i]
if i+1<len(nums):
right-=nums[i+1]
return -1
优秀代码(效率不错)
class Solution(object):
def pivotIndex(self, nums):
# Time: O(n)
# Space: O(1)
left, right = 0, sum(nums)
for index, num in enumerate(nums):
right -= num
if left == right:
return index
left += num
return -1