array & string

LeetCode 724. Find Pivot Index

先求数组总和sum,然后维护一个当前数组之和 cursum, 然后用sum 减去 当前遍历到的元素,判断得到的结果是否等于2*cursum 。

  • 等于 , 当前位置即pivot
  • 否则, 将当前数字加到cursum中, 继续for循环 遍历数组。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class  {
public:
int pivotIndex(vector<int>& nums) {
int sum = 0;
int cursum = 0;
for (int num : nums) {
sum += num;
}
for (int i = 0; i < nums.size(); i++) {
if (sum - nums[i] == 2*cursum) {
return i;
}
cursum += nums[i];
}
return -1;
}
};