题目:
题目截图:
解题步骤:
1.求出数组中所有元素之和
2.遍历整个数组,如果 sum 减去当前元素和当前元素的左半部分之和 left,
结果等于左半部分之和,返回当前元素的下标,否则返回 -1
代码:
/**
* @param {number[]} nums
* @return {number}
*/
var pivotIndex = function (nums) {
let sum = 0;
let left = 0;
nums.forEach(num => sum += num);
for (let i = 0; i < nums.length; i++) {
if (sum - nums[i] - left === left) return i;
left += nums[i];
}
return -1;
};
时间复杂度分析:
时间复杂度是O(n)
空间复杂度分析:
空间复杂度是O(1)
怎么样,是不是很简单,你学会了吗 ?
如果这篇文章能够帮助到您,希望您不要吝惜点赞👍👍和收藏💖💖,您的支持是我继续努力的动力 💪💪 !!!