给定一个整数数组,找到和为零的子数组。你的代码应该返回满足要求的子数组的起始位置和结束位置
注意事项
There is at least one subarray that it's sum equals to zero.
您在真实的面试中是否遇到过这个题?
Yes
样例
给出 [-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
vector<int> res;
for(int i=0;i<nums.size();i++){
int sum=nums[i];
if(nums[i]==0){
res.push_back(i);
res.push_back(i);
return res;
}
for(int j=i+1;j<nums.size();j++){
sum=sum+nums[j];
if(sum==0){
res.push_back(i);
res.push_back(j);
return res;
}
}
}
vector<int> res_null;
return res_null;
}
};