首页 > 其他 > 详细

[LeetCode] 724.Find Pivot Index

时间:2020-01-06 09:26:11      阅读:80      评论:0      收藏:0      [点我收藏+]

这道题暴力的做法就是O(N^2),但是通过观察,我们可以得到一个数学公式,即 total_sum + nums[i] == 2*current_sum 通过这个关系,我们可以先求出来total_sum, 然后loop trough,每一个position i,看看是不是满足这个公式。满足就可以return i,记住,每次向后loop的时候,current_sum都要把当前位置的nums[i]加进去。

class Solution:
    def pivotIndex(self, nums: List[int]) -> int:
        if not nums:
            return -1
        
        total_sum = sum(nums)
        current_sum = 0
        
        for i in range(len(nums)):
            if current_sum == total_sum - current_sum - nums[i]:
                return i
            current_sum += nums[i]
            
            
        return -1

 

[LeetCode] 724.Find Pivot Index

原文:https://www.cnblogs.com/codingEskimo/p/12154600.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!