class Solution {
public:
int pivotIndex(vector<int>& nums) {
int n = nums.size();
if (n < 2)
return n;
if(n==2)
{
if(nums[1]==0)
return 0;
else if(nums[0]==0)
return 1;
else
return -1;
}//划边界感觉代码写的很麻烦
int a[2] = {0};
for (int i = 1; i < n; i++)
{
a[0] += nums[i - 1];
a[1]=0;
for (int j = n - 1; j > i; j--)
{
a[1] += nums[j];
}
if (a[0] == a[1])
return i;
}
return -1;
}
};
运行结果
感觉在边界出错了,边界写的不够完善
class Solution {
public:
int pivotIndex(vector<int>& nums) {
int n = nums.size();
if (n < 2)
return 0;
int a[2] = {0};
for (int i = 0; i < n; i++)
{
if(i<1) a[0]=0;
else a[0] += nums[i - 1];
a[1]=0;
for (int j = n - 1; j > i; j--)
{
a[1] += nums[j];
}
if (a[0] == a[1])
return i;
}
return -1;
}
};
示例解:
我好菜