给定一个整数数组,找到和为零的子数组。你的代码应该返回满足要求的子数组的起始位置和结束位置
注意事项
There is at least one subarray that it's sum equals to zero.
给出 [-3, 1, 2, -3, 4]
,返回[0, 2]
或者 [1, 3]
.
class Solution {
public:
/*
* @param nums: A list of integers
* @return: A list of integers includes the index of the first number and the index of the last number
*/
vector<int> subarraySum(vector<int> &nums) {
// write your code here
int begin=0,end=0,sum=0;
vector <int> m;
for(int i=0;i<nums.size();i++){
begin=i;
for(int j=i;j<nums.size();j++){
end=j;
sum+=nums[j];
if(sum==0){
m.push_back(begin);
m.push_back(end);
return m;
}
}
sum=0;
}
}
};