本文共 798 字,大约阅读时间需要 2 分钟。
为了解决这个问题,我们需要找到数组的“中心索引”,即左边所有元素的和等于右边所有元素的和。中心索引的位置使得左边所有元素的和等于右边所有元素的和,而中间的那个元素不计入任何一边。
def pivotIndex(nums): sum_total = sum(nums) front_sum = 0 for i in range(len(nums)): if i == 0: left_sum = 0 else: front_sum += nums[i-1] left_sum = front_sum right_sum = sum_total - left_sum - nums[i] if left_sum == right_sum: return i return -1
sum_total是数组所有元素的总和。front_sum。left_sum和右边的和right_sum。这种方法确保了我们能够在O(n)时间复杂度内找到数组的中心索引,适用于较大的数组。
转载地址:http://vejmz.baihongyu.com/