Untitled
unknown
plain_text
3 years ago
684 B
5
Indexable
vector<int> largestSubarraySumZero(int n, vector<int> arr){
int len = 0, start = -1, sum = 0;
map<int, int> m;
m[sum] = -1;
for(int i=0; i<n; ++i)
{
sum += arr[i];
if(m.find(sum) == m.end())
m[sum] = i;
else
{
int curr = i - m[sum];
if(len < curr)
{
len = curr;
start = m[sum];
}
}
}
if(len == 0)
return {-1};
else
{
vector<int> ans;
for(int i=start+1; i<=start+len; ++i)
{
ans.push_back(arr[i]);
}
return ans;
}
}Editor is loading...