题解 | #相等的草堆#
相等的草堆
https://www.nowcoder.com/practice/0e2f3b27bbdc45fcbc70cc4fd41e15fe
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param nums int整型vector
* @return int整型
*/
int pivotIndex(vector<int>& nums) {
// write code here
int len = nums.size();
// 利用前缀和数组
vector<int> left(len, 0), right(len, 0);
for (int i = 1; i < len; i++) {
left[i] = left[i-1] + nums[i-1];
}
for (int i = len-2; i >= 0; i--) {
right[i] = right[i+1] + nums[i+1];
}
for (int i = 0; i < len; i++) {
if (left[i] == right[i]) {
return i;
}
}
return -1;
}
};
查看7道真题和解析