724は、配列インデックスの中心を見つけます
整数型の配列NUMSを考えると、「センター指数」の配列を返すメソッドを記述してください。
配列インデックスの中央の左右側面上のすべての要素の合計とすべての要素の和に等しい:配列インデックスとして、我々は、中心が定義されています。
中央インデックス配列が存在しない場合、我々は返す必要があります-1。配列は、中央インデックスが複数ある場合は、我々は1つ左に最も近い返す必要があります。
実施例1:
入力:
NUMS = [1、7,3 ,. 6 ,. 5 ,. 6]
出力:3
説明:
インデックス3(NUMS [3] = 6 ) 及び(3 + 1 + 7 = 11)の数の左側、右側が(5 + 6 = 11)の数に等しいです。
一方、図3は、インデックスの要求に沿って第1の中心です。
説明:
NUMSの長さ[0、10000]。
任意NUMS [I]は[-1000 1000]の範囲の整数です。
出典:滞在ボタン(LeetCode)
//leetcode-cn.com/problems/find-pivot-index:リンク:httpsの
すべてのネットワークからの控除が著作権を保有。商業転載は、ソースを明記してください許可公式、非商用の転載をご連絡ください。
class Solution {
public int pivotIndex(int[] nums) {
if(nums.length==0)
{
return -1;
}
int sum=0;
int sumLeft=0;
for(int i:nums)
{
sum+=i;//先计算出整个数组的累加和
}
for(int j=0;j<nums.length;j++)
{
//如果左边的累加和等于总和减去左边累加和再减去当前元素的值,则当前元素的下标即为数组的中心索引
if(sumLeft==sum-sumLeft-nums[j])
{
return j;
}
sumLeft+=nums[j];
}
return -1;
}
}