Skip to content

Commit fd12183

Browse files
Merge pull request #9 from Chayandas07/patch-8
Create 28 NOV 28 November Maximum Sub Array
2 parents 62fa7ab + 00753dd commit fd12183

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed

28 NOV 28 November Maximum Sub Array

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
class Solution{
2+
public:
3+
vector<int> findSubarray(int a[], int n) {
4+
int s=0,e=0, ms=-1, me=-1,l=0;
5+
long long sum = 0, maxs = 0;
6+
for(int i=0;i<n;i++)
7+
{
8+
9+
if(a[i] < 0){
10+
sum=0;
11+
e = i+1;
12+
s = i+1;
13+
}
14+
15+
else
16+
{
17+
sum+=a[i];
18+
19+
if(sum >= maxs){
20+
21+
//ms = s;
22+
//me = i;
23+
//maxs = sum;
24+
25+
if(sum>maxs)
26+
{
27+
ms = s;
28+
me = i;
29+
30+
31+
}
32+
else
33+
{
34+
if(i-s+1 > l)
35+
ms = s;
36+
me = i;
37+
}
38+
maxs = sum;
39+
l=me-ms+1;
40+
}
41+
42+
}
43+
}
44+
45+
if(ms == -1 and me == -1) return {-1};
46+
47+
vector<int> res;
48+
49+
for(int i=ms;i<=me;i++){
50+
res.push_back(a[i]);
51+
}
52+
53+
54+
return res;
55+
}
56+
};

0 commit comments

Comments
 (0)