# LC 724. Find Pivot Index ### [Problem link](https://leetcode.com/problems/find-pivot-index/) ###### tags: `leedcode` `python` `c++` `easy` Given an array of integers <code>nums</code>, calculate the **pivot index** of this array. The **pivot index** is the index where the sum of all the numbers **strictly** to the left of the index is equal to the sum of all the numbers **strictly** to the index's right. If the index is on the left edge of the array, then the left sum is <code>0</code> because there are no elements to the left. This also applies to the right edge of the array. Return the **leftmost pivot index** . If no such index exists, return <code>-1</code>. **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:** - <code>1 <= nums.length <= 10<sup>4</sup></code> - <code>-1000 <= nums[i] <= 1000</code> **Note:** This question is the same as1991:<a href="https://leetcode.com/problems/find-the-middle-index-in-array/" target="_blank">https://leetcode.com/problems/find-the-middle-index-in-array/</a> ## Solution 1 #### Python ```python= class Solution: def pivotIndex(self, nums: List[int]) -> int: n = len(nums) left_sum, right_sum = 0, sum(nums) for i in range(n): right_sum -= nums[i] if left_sum == right_sum: return i left_sum += nums[i] return -1 ``` #### C++ ```cpp= class Solution { public: int pivotIndex(vector<int>& nums) { int numsSum = accumulate(nums.begin(), nums.end(), 0); int leftSum = 0; for (int i = 0; i < nums.size(); i++) { numsSum -= nums[i]; if (leftSum == numsSum) { return i; } leftSum += nums[i]; } return -1; } }; ``` >### Complexity >n = nums.length >| | Time Complexity | Space Complexity | >| ----------- | --------------- | ---------------- | >| Solution 1 | O(n) | O(1) | ## Note x