題目會給我們一個整數陣列nums,要求我們計算平衡軸心點在哪?
平衡軸心的意思就是軸心點索引左側的元素總合 = 軸心點索引右側的元素總合
例如
整數陣列nums=[1,2,2,7,2,3]
7左側的元素總合為 1 + 2 + 2 = 5
7右側的元素總合為 2 + 3 = 5
所以7是平衡位置,其索引位置為3
所以平衡軸心索引位置 = 3
答案為3
Example 1:
Input: nums = [1,7,3,6,5,6]
Output: 3
Explanation:
The pivot index is 3.
Left sum = nums[0] + nums[1] + nums[2] = 1 + 7 + 3 = 11
Right sum = nums[4] + nums[5] = 5 + 6 = 11
Example 2:
Input: nums = [1,2,3]
Output: -1
Explanation:
There is no index that satisfies the conditions in the problem statement.
Example 3:
Input: nums = [2,1,-1]
Output: 0
Explanation:
The pivot index is 0.
Left sum = 0 (no elements to the left of index 0)
Right sum = nums[1] + nums[2] = 1 + -1 = 0
Constraints:
1 <= nums.length <= 10^4
陣列nums的長度介於1 ~ 10^4 之間。
-1000 <= nums[i] <= 1000
每個陣列元素都界於 -1000 ~ 1000之間。
這題除了古典的prefix sum前綴和的演算法之外,還有一個精彩巧妙的問題簡化技巧可以使用,就是天秤秤重的模型。