您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页力扣算法 1991-找到数组的中间位置 前缀和 (级别:简单)

力扣算法 1991-找到数组的中间位置 前缀和 (级别:简单)

来源:华佗小知识

1991-找到数组的中间位置

可以利用前缀和来解决

思路

  • 先求出数组的总和
  • 遍历这个数组,判断如果总和减去两个左边和等于数组当前循环的元素,说明找到数组的中间位置,就返回当前遍历项下标
  • 如果没有查找到就返回-1

代码实现

var findMiddleIndex = function(nums) {
    //求出数组的和
    let sum = nums.reduce((pre,item)=>pre+item)
    //定义左边和
    let leftSum = 0
    for (let i = 0; i < nums.length; i++) {
        //如果左边和和右边和相等,就返回i
        if(sum - 2 * leftSum === nums[i]){
            return i
        }
        //让左边和累加数组中的元素
        leftSum += nums[i]
    }
    //不合符条件返回-1
    return -1
};

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务