题目:https://leetcode-cn.com/problems/find-pivot-index/
仔细分析一下,就是左边+右边+中心索引=sum!根本不用也不能用count设初值和if去判断做!注意数据范围!
nums
的长度范围为[0, 10000]
。- 任何一个
nums[i]
将会是一个范围在[-1000, 1000]
的整数 - 10000*1000~
laji(erro):
int pivotIndex(int* nums, int numsSize){
int i=0,k=numsSize,count1=0,count2=0;
for(i=0;i<numsSize;i++){
if(count1<count2)
count1+=nums[i];
else if(count1==count2&&i+2==k){
return i;
}
else if(count1>count2){
k--;
count2+=nums[k];
}
}
return -1;
}
---------------------------------------------------------------
dalao:
///
C:
int pivotIndex(int* nums, int numsSize) {
if(NULL == nums || numsSize < 2){
return -1;
}
int sum = 0,temp = 0,i = 0;
/* 遍历累加总和 */
for(i = 0;i < numsSize;i++)
sum += nums[i];
/* 处理判断 */
for(i = 0;i < numsSize;i++){
if(temp * 2 + nums[i] == sum)
return i;
temp += nums[i];
}
return -1;
}
///
Python:
class Solution(object):
def pivotIndex(self, nums):
S = sum(nums)
leftsum = 0
for i, x in enumerate(nums):
if leftsum == (S - leftsum - x):
return i
leftsum += x
return -1