leetcode:724. 寻找数组的中心下标
2024-01-07 18:26:33
一、题目
二、函数原型
int pivotIndex(int* nums, int numsSize)?
三、思路
首先要理解正确中心下标,中心下标左侧元素之和等于右侧元素之和,比较时是不包含中心下标所指元素的。
先将数组和求出来记为sum,再遍历数组,遍历到某一下标处时记其左侧元素之和为leftsum,则右侧元素之和就为sum - leftsum - 当前位置元素。比较左、右侧元素和,如果相等则当前位置为中心下标。若全部遍历完后,仍没有找到中心下标则返回-1。
四、代码
int pivotIndex(int* nums, int numsSize) {
int sum = 0;
for (int i = 0; i < numsSize; i++)//数组求和
{
sum += nums[i];
}
int leftsum = 0;//中心下标左侧元素和
for (int i = 0; i < numsSize; i++)//遍历数组,寻找中心下标
{
if (sum - leftsum - nums[i] == leftsum)
return i;
leftsum += nums[i];
}
return -1;
}
文章来源:https://blog.csdn.net/2301_76197086/article/details/135398853
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!