LeetCode75——Day19

文章目录

一、题目

724. Find Pivot Index

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 = nums0 + nums1 + nums2 = 1 + 7 + 3 = 11

Right sum = nums4 + nums5 = 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 = nums1 + nums2 = 1 + -1 = 0

Constraints:

1 <= nums.length <= 104

-1000 <= numsi <= 1000

二、题解

利用前缀和的思想做题

cpp 复制代码
class Solution {
public:
    int pivotIndex(vector<int>& nums) {
        int n = nums.size();
        vector<int> prefixSum(n+1,0);
        for(int i = 1;i <= n;i++){
            prefixSum[i] = prefixSum[i-1] + nums[i-1];
        }
        for(int i = 0;i < n;i++){
            int left = prefixSum[i];
            int right = prefixSum[n] - prefixSum[i + 1];
            if(left == right) return i;
        }
        return -1;
    }
};
相关推荐
通信小呆呆2 小时前
当算法有了“五感”:多模态数据融合如何向人体感官协同学习?
人工智能·学习·算法·机器学习·机器人
benben0442 小时前
强化学习之DQN算法族(基于gymnasium开发)
算法
小小工匠3 小时前
Redis - 事务机制:能实现 ACID 属性吗
数据结构·redis·性能优化·并发·持久化
玖玥拾3 小时前
C/C++ 数据结构(七)栈、容器适配器
c语言·数据结构·c++··容器适配器
何以解忧,唯有..3 小时前
Go语言循环语句详解:for、range与循环控制
开发语言·算法·golang
想吃火锅10054 小时前
【leetcode】88.合并两个有序数组js
算法
один but you4 小时前
constexpr函数
c++
生成论实验室5 小时前
机器人:一个自主运动的系统
人工智能·算法·语言模型·机器人·自动驾驶·agi·安全架构
Qres8215 小时前
算法复键——树状数组
数据结构·算法