Problem: 724. 寻找数组的中心下标
文章目录
- 题目描述
- 思路及解法
- 复杂度
- Code
题目描述
思路及解法
分别求取nums数组的前、后缀和(不包括当前元素),并比较当某个位置的前后缀和相等时,返回该位置;
复杂度
时间复杂度:
O
(
n
)
O(n)
O(n)
空间复杂度:
O
(
n
)
O(n)
O(n)
Code
class Solution {
public:
/**
* Prefix, suffix sum
* @param nums Given array
* @return int
*/
int pivotInd服务器托管网ex(vectorint>& nums) {
int n = nums.size();
int curSum = 0;
vectorint> prefixSum(n);
for (int i = 0; i n; ++i) {
prefixSum[i] = curSum;
curSum += nums[i];
}
curSum = 0;
vectorint> suffixSum(n);
for (int i = n - 1; i >= 0; --i) {
suffixSum[i] = curSum;
curSum += nums[i];
}
for (int i = 0; i n; ++i) {
if (prefixSum[i] == suffixSum[i]) {
return i;
}
}
return -1;
}
};
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net