题目来源:
leetcode题目,网址:1991. 找到数组的中间位置 - 力扣(LeetCode)
解题思路:
从左到右遍历数组,对该元素左边和右边的元素求和,找到第一个满足要求的中间位置即可。
解题代码:
class Solution {public int findMiddleIndex(int[] nums) {int res=-1;int leftSum=0;int rightSum=0;for(int num:nums){rightSum+=num;}int pos=0;while(pos<nums.length){rightSum-=nums[pos];if(leftSum==rightSum){res=pos;break;}pos++;leftSum+=nums[pos-1];}return res;}
}
总结:
官方题解没有计算右边和,通过判断 左边和*2+当前元素 与数组之和 是否相等来判断是否满足要求。
i.e. that is to say 也就是说