Skip to content

Commit d93b55c

Browse files
authored
Create 4 November Longest Bitonic subsequence
4 November Longest Bitonic subsequence
1 parent 649fa9c commit d93b55c

File tree

1 file changed

+76
-0
lines changed

1 file changed

+76
-0
lines changed
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
class Solution{
2+
public:
3+
int LongestBitonicSequence(vector<int>nums)
4+
5+
{
6+
7+
// code here
8+
9+
int n=nums.size();
10+
11+
vector<int>lis(n);
12+
13+
for(int i=0;i<n;i++)
14+
15+
{
16+
17+
lis[i]=1;
18+
19+
for(int j=0;j<i;j++)
20+
21+
{
22+
23+
if(nums[j]<nums[i])
24+
25+
{
26+
27+
lis[i]=max(lis[i],lis[j]+1);
28+
29+
}
30+
31+
}
32+
33+
}
34+
35+
vector<int>lds(n);
36+
37+
reverse(nums.begin(),nums.end());
38+
39+
for(int i=0;i<n;i++)
40+
41+
{
42+
43+
lds[i]=1;
44+
45+
for(int j=0;j<i;j++)
46+
47+
{
48+
49+
if(nums[j]<nums[i])
50+
51+
{
52+
53+
lds[i]=max(lds[i],lds[j]+1);
54+
55+
}
56+
57+
}
58+
59+
}
60+
61+
reverse(lds.begin(),lds.end());
62+
63+
vector<int>diff(n);
64+
65+
for(int i=0;i<n;i++)
66+
67+
{
68+
69+
diff[i]=lis[i]+lds[i]-1;
70+
71+
}
72+
73+
return *max_element(diff.begin(),diff.end());
74+
75+
}
76+
};

0 commit comments

Comments
 (0)