724. Find Pivot Index

Leetcode link

题目简介

/**
 * @param {number[]} nums
 * @return {number}
 */

题目给我们一个数字数组 nums

要求我们找出一个元素下标使得其左右两边的元素之和相等

最后返回该元素下标

解题思路

我们用两个变量 leftSum 与 rightSum 来记录任意元素所有两边元素之和

在遍历的过程中,我们不断更新与判断两个变量是否相等,如果相等则马上返回当前下标

否则遍历完成后返回 -1

Javascript

/**
 * @param {number[]} nums
 * @return {number}
 */
var pivotIndex = function (nums) {
    let rightSum = nums.reduce((acc, cur) => acc + cur, 0)
    let leftSum = 0

    for (let i = 0; i < nums.length; i++) {
        leftSum += i === 0 ? 0 : nums[i-1]
        rightSum -= nums[i]
        if (leftSum === rightSum) {
            return i
        }
    }

    return -1
};

results matching ""

    No results matching ""