LeetCode1991

https://leetcode.cn/problems/find-the-middle-index-in-array/

class Solution {
    public int pivotIndex(int[] nums) {
        int sum=0;
        for(int i=0; i<nums.length; i++){
            sum=sum+nums[i];
        }
        int left_sum=0;
        int right_sum=sum;
        for(int i=0;i<nums.length;i++){
            if(i==0){
                left_sum=0;
            }else{
                left_sum=left_sum+nums[i-1];
            }           
            right_sum=right_sum-nums[i];
            if(left_sum==right_sum){
                return i;                
            }
        }
        return -1;
    }
}

网友分析:

1.先求得数组中所有元素之和sum;
2.遍历数组,取当前下标左边的元素之和left_sum,同时sum减去已遍历元素,比较二者是否相等,相等则返回当前下标;
3.遍历结束,代表没有中心索引,返回-1;

作者:xiaoyi
链接:https://leetcode.cn/leetbook/read/array-and-string/yf47s/?discussion=D6slGT
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

posted @ 2022-07-27 10:19  SherryYuan  阅读(16)  评论(0)    收藏  举报