【总和拆分 + 双变量遍历】LCR_012_寻找数组的中心下标

求解代码

java 复制代码
public int pivotIndex(int[] nums) {

        int leftSum = 0;
        int rightSum = 0;

        // 遍历数组,把所有元素的和存入 rightSum,
        // 此时 rightSum 是 "整个数组的和"
        for (int num : nums) {
            rightSum += num;
        }

        for (int i = 0; i < nums.length; i++) {
            // 从总和中减去当前元素,rightSum 变为"下标i右侧所有元素的和"
            rightSum -= nums[i];

            // 判断"右侧和"是否等于"左侧和",相等则当前i就是中心下标
            if (rightSum == leftSum) {
                return i;
            }

            // 将当前元素加入左侧和,为下一个下标的判断做准备
            leftSum += nums[i];
        }
        return -1;
    }
相关推荐
小雨下雨的雨1 小时前
井字棋AI机器人实现详解 - Minimax算法实战-鸿蒙PC Electron框架完成
前端·人工智能·算法·华为·electron·鸿蒙
xieliyu.4 小时前
Java算法精讲:双指针(三)
java·开发语言·算法
一条小锦吕*4 小时前
基于Spring Boot + 数据可视化 + 协同过滤算法的推荐系统设计与实现(源码+论文+部署全讲解)
spring boot·算法·信息可视化
cfm_29146 小时前
Redis五大基本数据结构底层了解
数据结构·数据库·redis
如竟没有火炬6 小时前
最大矩阵——单调栈
数据结构·python·线性代数·算法·leetcode·矩阵
8Qi86 小时前
LeetCode 1143 & 718:最长公共子序列 / 最长重复子数组
算法·leetcode·职场和发展·动态规划
绿算技术7 小时前
万卡推理集群存储选型分析:从核心架构到应用视角
大数据·科技·算法·架构
想吃火锅10058 小时前
【leetcode】1.两数之和js版
javascript·算法·leetcode
net3m338 小时前
一阶软件低通滤波器算法
人工智能·算法