Untitled
unknown
plain_text
2 years ago
684 B
2
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...