From 3ac368fc5a860b0afa49f378da75f3c4b1db90e6 Mon Sep 17 00:00:00 2001 From: yqq Date: Thu, 16 Sep 2021 16:29:03 +0800 Subject: [PATCH] =?UTF-8?q?/0724.=E5=AF=BB=E6=89=BE=E6=95=B0=E7=BB=84?= =?UTF-8?q?=E7=9A=84=E4=B8=AD=E5=BF=83=E7=B4=A2=E5=BC=95.md,=20=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0Goalng=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- problems/0724.寻找数组的中心索引.md | 26 +++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/problems/0724.寻找数组的中心索引.md b/problems/0724.寻找数组的中心索引.md index b4115893..991ce647 100644 --- a/problems/0724.寻找数组的中心索引.md +++ b/problems/0724.寻找数组的中心索引.md @@ -9,6 +9,8 @@ # 724.寻找数组的中心下标 +[力扣题目链接](https://leetcode-cn.com/problems/find-pivot-index/) + 给你一个整数数组 nums ,请计算数组的 中心下标 。 数组 中心下标 是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。 @@ -87,15 +89,15 @@ class Solution { } ``` -## Python +## Python3 -```python3 +```python class Solution: def pivotIndex(self, nums: List[int]) -> int: numSum = sum(nums) #数组总和 leftSum = 0 for i in range(len(nums)): - if numSum - leftSum -nums[i] == leftSum: #左右和相等 + if numSum - leftSum -nums[i] == leftSum: #左右和相等 return i leftSum += nums[i] return -1 @@ -104,6 +106,24 @@ class Solution: ## Go ```go +func pivotIndex(nums []int) int { + sum := 0 + for _, v := range nums { + sum += v; + } + + leftSum := 0 // 中心索引左半和 + rightSum := 0 // 中心索引右半和 + for i := 0; i < len(nums); i++ { + leftSum += nums[i] + rightSum = sum - leftSum + nums[i] + if leftSum == rightSum{ + return i + } + } + return -1 +} + ``` ## JavaScript