数组求中心下标,存在返回下标,不存在返回-1
中心下标:
数组中某个元素的左侧所有元素之和等于右侧元素之和
思路:
数组的全部元素之和为total,第i个元素左侧和为sum,则右侧和为total-nums[i]-sum, 两边相等的话 sum=total-nums[i]-sum,所以得到 2sum+nums[i] = total
var findIndexMiddle = function(nums){
const total = nums.reduce((a,b)=>a+b);
let sum = 0;
for(let i=0; i<nums.length; i++){
if(2*sum + nums[i] === total){
return i
}
sum += nums[i]
}
return -1
}
时间复杂度:o(n)
空间复杂度:o(1)
这篇文章介绍了如何使用JavaScript编写一个名为findIndexMiddle的函数,通过计算数组元素两侧的和来确定满足条件的中心下标。函数利用reduce方法计算总和,时间复杂度为O(n),空间复杂度为O(1)。
5469

被折叠的 条评论
为什么被折叠?



