給你一個整數(shù)數(shù)組 nums图张,請編寫一個能夠返回數(shù)組 “中心下標” 的方法亦鳞。
數(shù)組 中心下標 是數(shù)組的一個下標,其左側(cè)所有元素相加的和等于右側(cè)所有元素相加的和。
如果數(shù)組不存在中心下標态辛,返回 -1 。如果數(shù)組有多個中心下標挺尿,應(yīng)該返回最靠近左邊的那一個因妙。
注意:中心下標可能出現(xiàn)在數(shù)組的兩端。
鏈接:https://leetcode-cn.com/leetbook/read/array-and-string/yf47s/
來源:力扣(LeetCode)
class Solution {
public int pivotIndex(int[] nums) {
int sumT = 0, sumL = 0;
// 計算數(shù)組總和
for(int i = 0;i<nums.length;i++) {
sumT+=nums[i];
}
// 如果總和減去第一個值為0票髓,則說明下標0處就是中心索引
if(sumT-nums[0] == 0){
return 0;
}
for(int i = 0; i < nums.length;i++) {
// 如果左邊sum結(jié)果等于總和-左邊sum-nums[i](當前中心點)的值攀涵,則說明下標i就是中心索引
if(i != 0 && sumL == (sumT - sumL - nums[i])) {
return i;
}
sumL += nums[i];
}
return -1;
}
}