LeeCode刷题

2023-12-13 05:27:22

寻找数组的中心下标

给定一个整数nums,请编写一个能够返回数组“中心下标”的方法

中心下标是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。如果数组不存在中心下标,返回-1.如果数组右多个中心下标,应该返回最靠近左边的那一个。

注意:中心下标可能出现在数组的两端

  public static void main(String[] args) {

        System.out.println(pivotIndex(new int[]{1,7,3,6,5,6}));
    }
    public static int pivotIndex(int[] nums){
        //先求数组的和
        int sum= Arrays.stream(nums).sum();
        //累加存储容器
        int total=0;
        for (int i = 0; i < nums.length; i++) {
            //将数组从第一个元素累加起来
            total+=nums[i];
            //如果累加的值等于求和的值,那么就是中心下标
            if (total==sum){
                //返回下标
                return i;
            }
            //如果不等,就让数组求和减去当前数组值(累减)
            sum=sum-nums[i];
        }
        //找不到,返回-1
        return -1;
    }

文章来源:https://blog.csdn.net/m0_63245620/article/details/134958057
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。