题目
输入:nums = [1,7,3,6,5,6]
输出:3
解释:
中心下标是 3 。
左侧数之和 sum = nums[0] + nums[1] + nums[2] = 1 + 7 + 3 = 11 ,
右侧数之和 sum = nums[4] + nums[5] = 5 + 6 = 11 ,二者相等。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/tvdfij
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
依旧是用前缀和
- 多开辟一点空间
class Solution:
def pivotIndex(self, nums: List[int]) -> int:
n = len(nums)
preSum = [0] * (n+1)
t = 0
for i in range(n):
t += nums[i]
preSum[i+1] = t
# print(preSum)
for i in range(n):
left = preSum[i+1] - nums[i]
right = preSum[-1] - preSum[i+1]
# print(left, right)
if left == right:
return i
return -1
本文介绍如何使用Python实现前缀和的方法解决LeetCode题目,通过计算数组左右两侧元素之和,寻找旋转数组的中心索引。关键步骤包括计算前缀和数组和检查相等条件。

被折叠的 条评论
为什么被折叠?



