Leetcode 724: Find Pivot Index (前缀和数组简单题)

  1. Find Pivot Index
    Easy

Given an array of integers nums, calculate the pivot index of this array.

The pivot index is the index where the sum of all the numbers strictly to the left of the index is equal to the sum of all the numbers strictly to the index's right.

If the index is on the left edge of the array, then the left sum is 0 because there are no elements to the left. This also applies to the right edge of the array.

Return the leftmost pivot index. If no such index exists, return -1.

Example 1:

Input: nums = [1,7,3,6,5,6]

Output: 3

Explanation:

The pivot index is 3.

Left sum = nums[0] + nums[1] + nums[2] = 1 + 7 + 3 = 11

Right sum = nums[4] + nums[5] = 5 + 6 = 11

Example 2:

Input: nums = [1,2,3]

Output: -1

Explanation:

There is no index that satisfies the conditions in the problem statement.

Example 3:

Input: nums = [2,1,-1]

Output: 0

Explanation:

The pivot index is 0.

Left sum = 0 (no elements to the left of index 0)

Right sum = nums[1] + nums[2] = 1 + -1 = 0

Constraints:

1 <= nums.length <= 104

-1000 <= nums[i] <= 1000

Note: This question is the same as 1991: https://leetcode.com/problems/find-the-middle-index-in-array/

解法1:前缀和数组

cpp 复制代码
class Solution {
public:
    int pivotIndex(vector<int>& nums) {
        int n = nums.size();
        vector<int> presums(n + 1, 0);
        for (int i = 1; i <= n; i++) presums[i] = presums[i - 1] + nums[i - 1];
        
        for (int i = 1; i <= n; i++) {
            if (presums[i - 1] == presums[n] - presums[i]) return i - 1;
        }
        return -1;
    } 
};
相关推荐
千金裘换酒4 小时前
LeetCode 移动零元素 快慢指针
算法·leetcode·职场和发展
wm10434 小时前
机器学习第二讲 KNN算法
人工智能·算法·机器学习
NAGNIP4 小时前
一文搞懂机器学习线性代数基础知识!
算法
NAGNIP4 小时前
机器学习入门概述一览
算法
iuu_star5 小时前
C语言数据结构-顺序查找、折半查找
c语言·数据结构·算法
Yzzz-F5 小时前
P1558 色板游戏 [线段树 + 二进制状态压缩 + 懒标记区间重置]
算法
漫随流水5 小时前
leetcode算法(515.在每个树行中找最大值)
数据结构·算法·leetcode·二叉树
mit6.8246 小时前
dfs|前后缀分解
算法
扫地的小何尚6 小时前
NVIDIA RTX PC开源AI工具升级:加速LLM和扩散模型的性能革命
人工智能·python·算法·开源·nvidia·1024程序员节
千金裘换酒7 小时前
LeetCode反转链表
算法·leetcode·链表