Leetcode 724. 寻找数组的中心索引

题目描述

给你一个整数数组 nums,请编写一个能够返回数组 “中心索引” 的方法。

数组 中心索引 是数组的一个索引,其左侧所有元素相加的和等于右侧所有元素相加的和。

如果数组不存在中心索引,返回 -1 。如果数组有多个中心索引,应该返回最靠近左边的那一个。

注意:中心索引可能出现在数组的两端。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/find-pivot-index
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

C++

class Solution {
public:
    int pivotIndex(vector<int>& nums) {
         /*
            思路:暴力,
            初始化:中心索引为0,左侧之和为0,右边之和为从[1,len-1]的和
            然后,从下标1开始遍历,如果left==right说明,当前下标-1就是中心索引;
            如果不等,就前进1,需要left加上,right减去
            */
        int left;  //左侧数之和
        int right=0;   //右侧数之和
        //初始化
        left=0;
        for(int j=1;j<nums.size();j++){
            right+=nums[j];
        }
        int i;
        for(i=1;i<=nums.size();i++){
            if( left==right){
                return i-1;
            }
            else{
                 left +=nums[i-1];
                 right-=nums[i];
            }
        }

            return -1;
       
    }
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值