【Leetcode】724-寻找数组的中心索引(Find Pivot Index)
程序员文章站
2023-11-03 16:22:40
724...
724.寻找数组的中心索引.
解法.
- 从左到右遍历每一个位置,分别计算左右和,相等时返回索引。
- 从左到右遍历每一个位置,只累加左边和Left,当2*Left=AllSum-SplitValue时返回分割元素的索引。
class Solution:
def pivotIndex(self, nums: List[int]) -> int:
#Empty List.
if len(nums)==0:
return -1
left=0
right=sum(nums[1:len(nums)])
#right equals 0.
if left==right:
return 0
for i in range(1,len(nums)):
left=left+nums[i-1]
right=right-nums[i]
if left == right:
return i
return -1
class Solution:
def pivotIndex(self, nums: List[int]) -> int:
#Empty List.
if len(nums)==0:
return -1
AllSum=sum(nums)
left=0
for i in range(len(nums)):
if 2*left+nums[i]==AllSum:
return i
left=left+nums[i]
return -1
官方解答.
思想和解法2一致,其Python代码实现如下:
class Solution(object):
def pivotIndex(self, nums):
S = sum(nums)
leftsum = 0
for i, x in enumerate(nums):
if leftsum == (S - leftsum - x):
return i
leftsum += x
return -1
作者:LeetCode
链接:https://leetcode-cn.com/problems/find-pivot-index/solution/xun-zhao-shu-zu-de-zhong-xin-suo-yin-by-leetcode/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
本文地址:https://blog.csdn.net/weixin_44246009/article/details/107344362
上一篇: 揭秘:典韦为什么能在三国中排名第三?