# LWC 58：724. Find Pivot Index

## LWC 58：724. Find Pivot Index

Problem:

Given an array of integers nums, write a method that returns the “pivot” index of this array. We define the pivot index as the index where the sum of the numbers to the left of the index is equal to the sum of the numbers to the right of the index. If no such index exists, we should return -1. If there are multiple pivot indexes, you should return the left-most pivot index.

Example 1:

Input: nums = [1, 7, 3, 6, 5, 6] Output: 3 Explanation: The sum of the numbers to the left of index 3 (nums[3] = 6) is equal to the sum of numbers to the right of index 3. Also, 3 is the first index where this occurs.

Example 2:

Input: nums = [1, 2, 3] Output: -1 Explanation: There is no index that satisfies the conditions in the problem statement.

Note:

The length of nums will be in the range [0, 10000].

Each element nums[i] will be an integer in the range [-1000, 1000].

```    public int pivotIndex(int[] nums) {
int n = nums.length;
int[] lf = new int[n];
int[] rt = new int[n];

int sum = 0;
for (int i = 0; i < n; ++i) {
lf[i] = sum;
sum += nums[i];
}

sum = 0;
for (int j = n - 1; j >= 0; --j) {
rt[j] = sum;
sum += nums[j];
}

for (int i = 0; i < n; ++i) {
if (lf[i] == rt[i]) {
return i;
}
}

return -1;
}```

```    public int pivotIndex(int[] nums) {
int n = nums.length;
int[] sums = new int[n + 1];

for (int i = 0; i < n; ++i){
sums[i + 1] = sums[i] + nums[i];
}

for (int i = 0; i < n; ++i){
if (sums[i + 1] == sums[n] - sums[i]){
return i;
}
}

return -1;
}       ```

98 篇文章33 人订阅

0 条评论

## 相关文章

### Kotlin 中的集合类排序Kotlin 开发者社区

Kotlin使用扩展方法构建在Java Collection框架之上。这大大提高了可用性和可读性，而无需第三方依赖，如Apache Commons或Guava。

1375

672

### 重构一个繁琐的数据结构

在GIX4项目的开发过程中，遇到一个比较复杂的数据结构。复杂，是因为它有许多限制条件。我的工作是在现有系统中，添加新的功能，并在过程中重构部分旧代码。 ...

22410

8198

3735

### POJ 1804 Brainman(5种解法，好题，【暴力】，【归并排序】，【线段树单点更新】，【树状数组】，【平衡树】)

Brainman Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 1057...

4047

2797

2303

2947

3576