您的位置:首页 > 其它

2018.03.09 leetcode 打卡 #pivotIndex

2018-03-10 01:00 323 查看
很气!
没做出来!
时间复杂度不通过!

2018.03.11  续更 看了leetcode解法  还是要学别人的代码,很伤,长路漫漫啊
Approach # prefix sum(前缀)
利用enumerate()函数,前边记过了,返回元素及其序列组成的数组
问题就是求使得 左边序列和右边序列的总和相等序列号,sum:所有元素的总和,i:所求序列号
---> sum = leftsum + nums[i] + rightsum
又因为:leftsum == rightsum
---->sum = leftsum + nums[x] + leftsum  
——>满足 lfetsum == sum - nums[i] - leftsum  条件时,求得序列号i class Solution:
def pivotIndex(self, nums):
leftsum = 0
Sum = sum(nums)
for i ,x in enumerate(nums): # i即序号,x基元素值
if leftsum == Sum - x - leftsum:
return i
leftsum += x
return -1Approach #2 从左往右移动
Rsum =总和 ,Lsum =0class Solution:
def pivotIndex(self, nums):
rightsum = sum(nums)
leftsum = 0
for i in range(len(nums)):
rightsum = rightsum - nums[i]
if rightsum == leftsum:
return i
leftsum = leftsum + nums[i]
return -1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: